Intereting Posts
Activity.startLockTask () иногда вызывает исключение IllegalArgumentException Adb установка / загрузка apk с возрастом Есть ли в любом случае приложение может использовать более 16 МБ в памяти? Андроид обнаруживает неактивность пользователя после нажатия клавиши Где разместить BroadcastReceiver в Android MVP? Интеграция Crashlytics в проект библиотеки Проблема с прокруткой Android ViewPager при использовании только одного элемента при использовании getPageWidth из PagerAdapter Как передать List <Map <String, String >> с помощью putExtra в другое намерение Возможно ли создать базу данных SQLite в памяти из существующего фрагмента памяти? Нет папки «apk», сгенерированной внутри папки «Build» при создании APK Ссылка Android на беспроводные и сетевые настройки Различные Android-эмуляторы Каково использование allowCoreThreadTimeout () в ThreadPoolExecutor? Заменить общие параметры пути в модификации 2 с помощью okhttp Приложение для Android с изменяемой кожей / темой

Как создать данные формата JSON в android?

Мне нужно передать некоторые параметры на сервер, которые мне нужно передать, как показано ниже.

{ "k2": { "mk1": "mv1", "mk2": [ "lv1", "lv2" ] } } 

Итак, как можно сгенерировать этот формат в android.

Я попробовал это, используя As, как показано в примере 5.3, но он показывает ошибку на obj.writeJSONString(out); Эта линия. Может ли кто-нибудь помочь в решении этого.

Заранее спасибо

Это не совсем то, что вы хотите получить JSONArray внутри JSONObject и JSONObject внутри другого JSONObject. Таким образом, вы можете создать их отдельно, а затем можете объединить их. Как показано ниже.

 try { JSONObject parent = new JSONObject(); JSONObject jsonObject = new JSONObject(); JSONArray jsonArray = new JSONArray(); jsonArray.put("lv1"); jsonArray.put("lv2"); jsonObject.put("mk1", "mv1"); jsonObject.put("mk2", jsonArray); parent.put("k2", jsonObject); Log.d("output", parent.toString(2)); } catch (JSONException e) { e.printStackTrace(); } 

Вывод-

  { "k2": { "mk1": "mv1", "mk2": [ "lv1", "lv2" ] } } 

Вы можете использовать JSONObject и создавать с ним свои данные.

Вот ссылка на документацию

 jsonObject.toString() // Produces json formatted object 

Привет, сначала вам нужно создать отдельный класс HttpUtil.java.Посмотреть код

 public class HttpUtil { // lat=50.2911 lon=8.9842 private final static String TAG = "DealApplication:HttpUtil"; public static String get(String url) throws ClientProtocolException, IOException { Log.d(TAG, "HTTP POST " + url); HttpGet post = new HttpGet(url); HttpResponse response = executeMethod(post); return getResponseAsString(response); } public static String post(String url, HashMap<String, String> httpParameters) throws ClientProtocolException, IOException { Log.d(TAG, "HTTP POST " + url); List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>( httpParameters.size()); Set<String> httpParameterKeys = httpParameters.keySet(); for (String httpParameterKey : httpParameterKeys) { nameValuePairs.add(new BasicNameValuePair(httpParameterKey, httpParameters.get(httpParameterKey))); } HttpPost method = new HttpPost(url); UrlEncodedFormEntity urlEncodedFormEntity = new UrlEncodedFormEntity(nameValuePairs); System.out.println("**************Request=>"+urlEncodedFormEntity.toString()); method.setEntity(urlEncodedFormEntity); HttpResponse response = executeMethod(method); return getResponseAsString(response); } private static HttpResponse executeMethod(HttpRequestBase method) throws ClientProtocolException, IOException { HttpResponse response = null; HttpClient client = new DefaultHttpClient(); response = client.execute(method); Log.d(TAG, "executeMethod=" + response.getStatusLine()); return response; } private static String getResponseAsString(HttpResponse response) throws IllegalStateException, IOException { String content = null; InputStream stream = null; try { if (response != null) { stream = response.getEntity().getContent(); InputStreamReader reader = new InputStreamReader(stream); BufferedReader buffer = new BufferedReader(reader); StringBuilder sb = new StringBuilder(); String cur; while ((cur = buffer.readLine()) != null) { sb.append(cur + "\n"); } content = sb.toString(); System.out.println("**************Response =>"+content); } } finally { if (stream != null) { stream.close(); } } return content; } } 

Этот пример поможет вам просто вызвать эту функцию, он вернет JSON в качестве значения строки .. Попробуйте

  public String getResult() { JSONObject userResults = null; try { userResults = new JSONObject(); userResults.put("valueOne",str_one); userResults.put("valueTwo", str_two); userResults.put("valueThree" ,str_three); userResults.put("valueFour", str_four); } catch (Exception e) { e.printStackTrace(); } return userResults.toString(); }