对象的某个属性是arrayList该如何转成json,又该怎么解析json

 我来答
就烦条0o
2016-07-10 · 知道合伙人软件行家
就烦条0o
知道合伙人软件行家
采纳数:33315 获赞数:46492
从事多年系统运维,喜欢编写各种小程序和脚本。

向TA提问 私信TA
展开全部
你可以在http://json.org网站中找到第三方jar包使用。我们项目在用的是json-lib,google那个网上评论不错,也可以考虑使用,不过不同的jar包的调用方式都不尽相同,请自行斟酌使用。

以下为json-lib的一个小例子。
如果项目使用的是maven,那么直接在pom.xml中引入依赖既可以。如果是普通的java项目,那么就需要自己手动导入jar包。注意,该jar包需要依赖一些其他jar包,详情可以访问http://json-lib.sourceforge.net/ 获得详情。

<dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib</artifactId>
<version>2.4</version>
<classifier>jdk15</classifier>
</dependency>

以下是使用json-lib的array to json 的sample。

List<Map<String, Object>> arrayList = new ArrayList<Map<String, Object>> ();

for(int i = 0; i < 5; i++){
Map<String, Object> map = new HashMap<String, Object>();
map.put(String.valueOf(i), i);
arrayList.add(map);
}

JSONArray jsonArray = JSONArray.fromObject(arrayList);
System.out.print(jsonArray);

这段代码输出为

[{"0":0},{"1":1},{"2":2},{"3":3},{"4":4}]

已经将该arrayList转换为JSONArray了。调用该jsonArray.toString()即可获得一个json字符串。

而且方便之处在于,JSONArray实现了List接口的。就可以当作普通的List来操作了。

接下来的代码为将上面获得的json字符串转换为arrayList的sample。

String jsonStr = jsonArray.toString();
JSONArray toArray = JSONArray.fromObject(jsonStr);
List<Map<String, Object>> toList = (List<Map<String, Object>>)JSONArray.toCollection(toArray, Map.class);
System.out.println(toList.get(0).get("0"));

可以看到,通过JSONArray的toCollection方法就可以方便的把JSONArray转换为ArrayList。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式