json的简单应用

本文介绍如何使用json-lib在Java中实现JSON字符串与Java对象之间的互相转换,包括单个对象及集合对象的转换方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用json已经有一段时间了,公司前后台的数据交互都是用的json。
以前没用用json的时候不知道,现在使用了发现json做为前后台的数据传输载体,真的很方便。
我可以在后台生成一段json数据格式的字符串以json的相应头发送到客服端进行解析得到我想要的效果,同样可以在客户端组成json格式的字符串发送到后台,直接就用json-lib的里面的JSONObject或者JSONArray进行转换得到我要的对象。

[color=red]注意:[/color]
我使用的是json-lib-2.3-jdk15你可以在这里下载到[url]http://sourceforge.net/projects/json-lib/files/[/url]
现在已经有json-lib-2.5-jdk15版本的,我现在是使用的maven开发所以我在我的pom配置文件中添加一段配置,json的包就会添加到程序中

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

[color=red] 首先说下从字符串到简单对象的转换:[/color]

String str = "{id:'1',name:'test',info:'我是json测试数据',address:'广州',cdCard:'123456789123456789'}";
TestVo testvo = (TestVo) JSONObject.
toBean(JSONObject.fromObject(str),TestVo.class);
System.out.println("info"+testvo.getId()+":"+testvo.getInfo());

就这样我们就根据对应的json字符串得到了一个TestVo对象,并且里面已经有了我们要的数据。
[color=red]再说说json字符串到集合的转换:[/color]

String nodesStr="[{id:'1',name:'test1',info:'我是json测试数据1',address:'广州1',cdCard:'123456789123456789'},{id:'2',name:'test2',info:'我是json测试数据2',address:'广州2',cdCard:'123456789123456789'},{id:'3',name:'test3',info:'我是json测试数据3',address:'广州3',cdCard:'123456789123456789'}]";
JSONArray nodesArray = JSONArray.fromObject(nodesStr);
List<TestVo> details = (List<TestVo>) nodesArray.toCollection(nodesArray, TestVo.class);
for(TestVo detail:details){
System.out.println("info"+detail.getId()+":"+detail.getInfo());
}

从json字符串到对象转换这样简单,把对象转换成json字符串一样很容易,下面就是做法:
[color=red]首先说下从简单对象到字符串的转换:[/color]

TestVo test = new TestVo(1,"test","我是json测试数据","广州","123456789123456789");
System.out.println(JSONObject.fromObject(test));

[color=red]接着是集合到字符串的转换:[/color]

List<TestVo> details = new ArrayList<TestVo>();
TestVo test1 = new TestVo(1,"test1","我是json测试数据1","广州1","123456789123456789");
TestVo test2 = new TestVo(2,"test2","我是json测试数据1","广州1","123456789123456789");
TestVo test3 = new TestVo(3,"test3","我是json测试数据1","广州1","123456789123456789");
details.add(test1);
details.add(test2);
details.add(test3);
System.out.println(JSONArray.fromObject(details));


鉴于从各种对象、集合、map等到json字符串的转换都是这样,这里我就不再一一的进行讲述。文章就写到这里,如有问题,请指出,谢谢!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值