1、组装成如下形式
{
"a": "a_value",
"b": "b_value",
"c": [
"c1_value",
"c2_value"
],
"d": {
"d1": "d1_value",
"d2": "d2_value"
},
"e": [
{
"e1": "e1_value",
"e2": "e2_value"
},
{
"e3": "e3_value",
"e4": "e4_value"
}
]
}
"a": "a_value",
"b": "b_value",
"c": [
"c1_value",
"c2_value"
],
"d": {
"d1": "d1_value",
"d2": "d2_value"
},
"e": [
{
"e1": "e1_value",
"e2": "e2_value"
},
{
"e3": "e3_value",
"e4": "e4_value"
}
]
}
点击button生成Json,直接上代码:
private void toJson() {
JSONObject jsonObject = new JSONObject();
try {
//形式1
jsonObject.put("a", "a_value");
jsonObject.put("b", "b_value");
//形式2
JSONArray json_c = new JSONArray();
json_c.put("c1_value");
json_c.put("c2_value");
jsonObject.put("c", json_c);
//形式3
JSONObject json_d = new JSONObject();
json_d.put("d1", "d1_value");
json_d.put("d2", "d2_value");
jsonObject.put("d", json_d);
//形式4
JSONArray json_e = new JSONArray();
JSONObject childer_1 = new JSONObject();
childer_1.put("e1", "e1_value");
childer_1.put("e2", "e2_value");
json_e.put(childer_1);
JSONObject childer_2 = new JSONObject();
childer_2.put("e3", "e3_value");
childer_2.put("e4", "e4_value");
json_e.put(childer_2);
jsonObject.put("e", json_e);
} catch (JSONException e) {
e.printStackTrace();
}
tv.setText(jsonObject.toString());
}
JSONObject jsonObject = new JSONObject();
try {
//形式1
jsonObject.put("a", "a_value");
jsonObject.put("b", "b_value");
//形式2
JSONArray json_c = new JSONArray();
json_c.put("c1_value");
json_c.put("c2_value");
jsonObject.put("c", json_c);
//形式3
JSONObject json_d = new JSONObject();
json_d.put("d1", "d1_value");
json_d.put("d2", "d2_value");
jsonObject.put("d", json_d);
//形式4
JSONArray json_e = new JSONArray();
JSONObject childer_1 = new JSONObject();
childer_1.put("e1", "e1_value");
childer_1.put("e2", "e2_value");
json_e.put(childer_1);
JSONObject childer_2 = new JSONObject();
childer_2.put("e3", "e3_value");
childer_2.put("e4", "e4_value");
json_e.put(childer_2);
jsonObject.put("e", json_e);
} catch (JSONException e) {
e.printStackTrace();
}
tv.setText(jsonObject.toString());
}
2、将如上json解析出来
private void jsonToString(){
StringBuffer sb = new StringBuffer(256);
try {
//得到类型1
String a = jsonObject.getString("a");
String b = jsonObject.getString("b");
sb.append(a+"\n"+b+"\n");
//类型2
JSONArray cArray = jsonObject.getJSONArray("c");
for (int i = 0; i < cArray.length(); i++) {//将数组中的内容分别显示出来
sb.append(cArray.getString(i)+"\n");
}
//类型3
JSONObject d = jsonObject.optJSONObject("d");
String d1 = d.getString("d1");
String d2 = d.getString("d2");
sb.append(d1+"\n"+d2+"\n");
//类型4
JSONArray eArray = jsonObject.getJSONArray("e");//得到对应的数组
JSONObject chileren_1 = eArray.optJSONObject(0);//得到数组中第一段object数据
String e1 = chileren_1.getString("e1");
String e2 = chileren_1.getString("e2");
JSONObject chileren_2 = eArray.optJSONObject(1);//得到数组中第二段object数据
String e3 = chileren_2.getString("e3");
String e4 = chileren_2.getString("e4");
sb.append(e1+"\n"+e2+"\n"+e3+"\n"+e4+"\n");
tv.setText(sb.toString());
} catch (JSONException e) {
e.printStackTrace();
}
}
StringBuffer sb = new StringBuffer(256);
try {
//得到类型1
String a = jsonObject.getString("a");
String b = jsonObject.getString("b");
sb.append(a+"\n"+b+"\n");
//类型2
JSONArray cArray = jsonObject.getJSONArray("c");
for (int i = 0; i < cArray.length(); i++) {//将数组中的内容分别显示出来
sb.append(cArray.getString(i)+"\n");
}
//类型3
JSONObject d = jsonObject.optJSONObject("d");
String d1 = d.getString("d1");
String d2 = d.getString("d2");
sb.append(d1+"\n"+d2+"\n");
//类型4
JSONArray eArray = jsonObject.getJSONArray("e");//得到对应的数组
JSONObject chileren_1 = eArray.optJSONObject(0);//得到数组中第一段object数据
String e1 = chileren_1.getString("e1");
String e2 = chileren_1.getString("e2");
JSONObject chileren_2 = eArray.optJSONObject(1);//得到数组中第二段object数据
String e3 = chileren_2.getString("e3");
String e4 = chileren_2.getString("e4");
sb.append(e1+"\n"+e2+"\n"+e3+"\n"+e4+"\n");
tv.setText(sb.toString());
} catch (JSONException e) {
e.printStackTrace();
}
}