json的属性是对象,怎么用java解析该json字符串获得该对象属性呢

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了json的属性是对象,怎么用java解析该json字符串获得该对象属性呢相关的知识,希望对你有一定的参考价值。

如题,像字符串["Object":["name":"小王","name":“小李”],"color":"red"]
怎么用Java的json-lib解析呢?

private static String Encode()

JSONObject obj = new JSONObject();

ArrayList<String> array1 = new ArrayList<String>();
array1.add("Class A");
array1.add("Class B");
obj.put(CLASS_DIAGRAM_SAME, array1);

ArrayList<String> array2 = new ArrayList<String>();
array2.add("Class C");
array2.add("Class D");
obj.put(CLASS_DIAGRAM_1, array2);

ArrayList<String> array3 = new ArrayList<String>();
array3.add("Class E");
array3.add("Class F");
obj.put(CLASS_DIAGRAM_2, array3);

return obj.toJSONString();

//=================================
CLASS_DIAGRAM_SAME等是final字符串,我就不贴了,简单的生成,一看就懂

下面两段是简单的读取,你可以举一反三,很容易明白
//=================================

System.out.println(obj.get(CLASS_DIAGRAM_SAME));
System.out.println(obj.get(CLASS_DIAGRAM_1));
System.out.println(obj.get(CLASS_DIAGRAM_2));

System.out.println("Same classes:");
ArrayList<String> array1 = (ArrayList<String>)obj.get(CLASS_DIAGRAM_SAME);
for (String same : array1)
System.out.println(same);
追问

大侠,能针对例子,具体说说吗?

参考技术A jsonObject.getString("color");这样,数组的话你可以循环jsonObject[0]获取一个对象本回答被提问者采纳 参考技术B 你最后想获得什么样格式那:
是不是 要获得 name:小王
小李
color:red追问

是的,想重新保存到一个对象中

参考技术C 下载jar包
用ObjectMapper
也可用jsonobject
网上有代码和jar包

以上是关于json的属性是对象,怎么用java解析该json字符串获得该对象属性呢的主要内容,如果未能解决你的问题,请参考以下文章

用Java开发webservise怎么返回json数据

前端json请求,后端date无法解析该如何解析

在 java web开发中怎么使用json?

json数据中对象包含对象怎么解析

java怎么解析多层嵌套的json得到每个元素

怎么在前端用ajax提交一个json数组到后台,后台怎么获得