假设我们要创建一个这样的json:
{
"people": [
{ "firstName": "Brett", "lastName":"McLaughlin", "email": "aaaa" },
{ "firstName": "Jason", "lastName":"Hunter", "email": "bbbb"},
{ "firstName": "Elliotte", "lastName":"Harold", "email": "cccc" }
]
}
这个json有一个键值对,其中key是people,value是一个数组;value中的每一条数据又包含多个键值对。
首先要创建一个大的jsonObject,作为最终的json。
创建一个jsonArray,用来存放数组,这个jsonArray就是大的json中的value。
创建若干小的JsonObject,这个JsonObject就是数组中每一条数据。
为小的JsonObject设置键值对映射。完成设置后向jsonarray添加这个小的jsonobject。jsonarray添加完毕后向大的JsonObject添加键值对,其中键名为people,值为jsonarray。
代码如下
JSONObject jo = new JSONObject();//大的jsonobject
JSONArray ja = new JSONArray();
JSONObject p1 = new JSONObject();//小的jsonobject
JSONObject p2 = new JSONObject();//小的jsonobject
JSONObject p3 = new JSONObject();//小的jsonobject
//向第一个小的jsonobject添加键值对映射
p1.put("firstname", "brett");
p1.put("lasttname", "McLaughlin");
p1.put("firstname", "aaaa");
//添加完成后,向jsonarray添加这个小的jsonobject
ja.add(p1);
//后面的添加同上
...
//最后向大的JsonObject添加键值对,其中键名为“people”,值为jsonarray。
jo.put("people",ja);
//打印json
System.out.println(jo);