4
demo:
public class Test {
public static void main(String[] args) {
JSONObject json = new JSONObject();
JSONObject value = new JSONObject();
JSONArray arr = new JSONArray();
value.put("sex", "男");
value.put("desc", "这家伙很懒,什么也没留下");
for (int i = 0; i < 3; i ++) {
JSONObject o = new JSONObject();
o.put("key" + i, "value" + i);
arr.add(o);
}
json.put("name", "zhangsan");
json.put("info", value.toJSONString());
json.put("arr", arr.toJSONString());
// 实际应用中json值可能是JSONObject,也可能是JSONArray
System.out.println(JSON.toJSONString(json, SerializerFeature.PrettyFormat));
}
}
输出:
{
"arr":"[{\"key0\":\"value0\"},{\"key1\":\"value1\"},{\"key2\":\"value2\"}]",
"name":"zhangsan",
"info":"{\"sex\":\"男\",\"desc\":\"这家伙很懒,什么也没留下\"}"
}
而我想得到如下的格式化的效果:
{
"arr":[
{
"key0":"value0"
},
{
"key1":"value1"
},
{
"key2":"value2"
}
],
"name":"zhangsan",
"info":{
"sex":"男",
"desc":"这家伙很懒,什么也没留下"
}
}
请教该如何实现