使用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的包就会添加到程序中
[color=red] 首先说下从字符串到简单对象的转换:[/color]
就这样我们就根据对应的json字符串得到了一个TestVo对象,并且里面已经有了我们要的数据。
[color=red]再说说json字符串到集合的转换:[/color]
从json字符串到对象转换这样简单,把对象转换成json字符串一样很容易,下面就是做法:
[color=red]首先说下从简单对象到字符串的转换:[/color]
[color=red]接着是集合到字符串的转换:[/color]
鉴于从各种对象、集合、map等到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字符串的转换都是这样,这里我就不再一一的进行讲述。文章就写到这里,如有问题,请指出,谢谢!