JSON解析与生成 - Android

本篇文章记录的是Android应用中JSON的解析与生成.

读取JSON

 try {
     JSONObject json = new JSONObject("{\"key1\":\"value1\",\"list\":[{\"key2\":\"value2\",\"key3\":\"value3\"},{\"key2\":\"value2\",\"key3\":\"value3\"}]}");
     String key1 = json.getString("key1");
     JSONArray ar1 = json.getJSONArray("list");
     for (int index = 0; index < ar1.length(); index++) {
         JSONObject o1 = ar1.getJSONObject(index);
         String K2 = o1.getString("key2");
         String K3 = o1.getString("key3");
         Log.e(TAG, String.format("%s-%s-%s", key1, K2, K3));
     }
 } catch (JSONException e) {
     throw new RuntimeException(e);
 }

上面的代码执行完毕之后,会得到诸如下面的执行结果:

image-20230908141639097.png

生成JSON

JSONObject json = new JSONObject();
try {
    json.put("key1", "value1");
    JSONObject ch1 = new JSONObject();
    ch1.put("key2", "value2");
    ch1.put("key3", "value3");
    JSONArray ar1 = new JSONArray();
    ar1.put(ch1).put(ch1);
    json.put("list", ar1);
    Log.e(TAG, "onCreate: " + json);
} catch (JSONException e) {
    throw new RuntimeException(e);
}

上面代码执行之后,会得到诸如下面的执行结果:

image-20230908140919804.png