组装Json
来源:互联网 发布:java package怎么用 编辑:程序博客网 时间:2024/05/17 07:53
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"
- }
- ]
- }
点击button生成Json,直接上代码:- private void toJson() {
- JSONObject jsonObject = new JSONObject();
- try {
-
- jsonObject.put("a", "a_value");
- jsonObject.put("b", "b_value");
-
- JSONArray json_c = new JSONArray();
- json_c.put("c1_value");
- json_c.put("c2_value");
- jsonObject.put("c", json_c);
-
- JSONObject json_d = new JSONObject();
- json_d.put("d1", "d1_value");
- json_d.put("d2", "d2_value");
- jsonObject.put("d", json_d);
-
- 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 {
-
- String a = jsonObject.getString("a");
- String b = jsonObject.getString("b");
- sb.append(a+"\n"+b+"\n");
-
- JSONArray cArray = jsonObject.getJSONArray("c");
- for (int i = 0; i < cArray.length(); i++) {
- sb.append(cArray.getString(i)+"\n");
- }
-
- JSONObject d = jsonObject.optJSONObject("d");
- String d1 = d.getString("d1");
- String d2 = d.getString("d2");
- sb.append(d1+"\n"+d2+"\n");
-
- JSONArray eArray = jsonObject.getJSONArray("e");
- JSONObject chileren_1 = eArray.optJSONObject(0);
- String e1 = chileren_1.getString("e1");
- String e2 = chileren_1.getString("e2");
- JSONObject chileren_2 = eArray.optJSONObject(1);
- 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();
- }
- }
转载自:http://blog.csdn.net/jiangtea/article/details/53259955
0 0