json学习系列(8)JSON与JAVA数据的相互转换实例
一.完整案例
先定义一个java实体对象,如下:
package com.pcitc.json.cnblog; /**
* SimInfo实体对象
*
* @Description
* @author admin
* @created 2015年6月30日 上午10:23:21
* @version
* @history
* @see
*/
public class SimInfo { private String addTime;
private String iccid;
private int id;
private String imei;
private String imsi;
private String phoneType;
private String remark;
private String tel; public String getAddTime() {
return addTime;
} public void setAddTime(String addTime) {
this.addTime = addTime;
} public String getIccid() {
return iccid;
} public void setIccid(String iccid) {
this.iccid = iccid;
} public int getId() {
return id;
} public void setId(int id) {
this.id = id;
} public String getImei() {
return imei;
} public void setImei(String imei) {
this.imei = imei;
} public String getImsi() {
return imsi;
} public void setImsi(String imsi) {
this.imsi = imsi;
} public String getPhoneType() {
return phoneType;
} public void setPhoneType(String phoneType) {
this.phoneType = phoneType;
} public String getRemark() {
return remark;
} public void setRemark(String remark) {
this.remark = remark;
} public String getTel() {
return tel;
} public void setTel(String tel) {
this.tel = tel;
} }
1. json对象转换为java对象
@Test
public void jsonToJava() {
String json = "[{\"addTime\":\"2011-09-19 14:23:02\",\"iccid\":\"1111\",\"id\":0,\"imei\":\"2222\",\"imsi\":\"3333\",\"phoneType\":\"4444\",\"remark\":\"aaaa\",\"tel\":\"5555\"}]";
// 接收{}对象,此处接收数组对象会有异常
if (json.indexOf("[") != -1) {
json = json.replace("[", "");
}
if (json.indexOf("]") != -1) {
json = json.replace("]", "");
}
// 把字符串形式的JSON串转换成JSON对象
JSONObject obj = JSONObject.fromObject(json);
// 把JSON对象转成java对象
SimInfo simInfo = (SimInfo) JSONObject.toBean(obj, SimInfo.class);
// 输出java对象的相关属性
System.out.println(simInfo.getAddTime());
System.out.println(simInfo.getIccid());
System.out.println(simInfo.getImei());
System.out.println(simInfo.getImsi());
System.out.println(simInfo.getPhoneType());
System.out.println(simInfo.getRemark());
System.out.println(simInfo.getTel());
System.out.println(simInfo.getId());
}
输出结果:
aaarticlea/png;base64,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" alt="" />
2. 将json数组转换为java集合对象
/**
* 将json数组转换为java集合对象
*
* @Description
* @author admin
* @created 2015年6月30日 上午10:10:15
*/
@Test
public void jsonToJavaCollections() {
String jsons = "[{\"addTime\":\"2011-09-19 14:23:02\",\"iccid\":\"1111\",\"id\":0,\"imei\":\"2222\",\"imsi\":\"3333\",\"phoneType\":\"4444\",\"remark\":\"aaaa\",\"tel\":\"5555\"},"
+ "{\"addTime\":\"2011-11-11 14:23:02\",\"iccid\":\"2222\",\"id\":0,\"imei\":\"2222\",\"imsi\":\"3333\",\"phoneType\":\"4444\",\"remark\":\"aaaa\",\"tel\":\"5555\"}]";
// 把字符串形式的JSON串转换成JSON数组对象
JSONArray jsonArray = (JSONArray) JSONSerializer.toJSON(jsons);
if (jsonArray != null) {
// 把JSON数组对象转换成java集合对象
List<Object> list = (List<Object>) JSONSerializer.toJava(jsonArray);
for (Object o : list) {
// 把java对象转换成JSON对象
JSONObject jsonObject = JSONObject.fromObject(o);
// 把JSON对象转换成特定的java对象
SimInfo simInfo = (SimInfo) JSONObject.toBean(jsonObject,
new SimInfo().getClass());
// 输出java对象属性
System.out.println("addTime: " + simInfo.getAddTime());
}
}
}
输出结果:
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAUAAAAA7CAIAAACFYMRLAAAEvUlEQVR4nO2cTY7bMAxGfS4fyOfxaYwuZl8UmP0svClQ9AK9gLtwYuuHlClHSczBe8iirRySFvXZlBqp+/P768fPv7++/n2/z/TxuUDA9PH59qTwafvpVgFPH5/f8vNuyVyLt6eDT/PPTcDvHloAcAYEDOAYBAzgGAQM4BgEDOAYBAzgmJYCnoauG6baJuXqrh/nJlEBfGNeLuB57LucWK0XEPA0KLEdtN3vT+qHQtOJOMKOrDKphdHcoKU1R7vjZOBURKj3YTGTPnjfG3ge+6v22jz2W7Tz2EfZnYb9r3LbOAjjq9Cko/sKW9Ymm1U1jOYGl91U35vNlXpeDdcQoNSHVl/XBgEfEY3mNOiwcRrWP02iPLSmsmPZVyawcCwWUMNobjC+hboJlB5V7NlispQvs69LYxNwUGoUqpC0sik0LYqAg69El89j3w3jWkTdRkR8SehLKQ5PpidMbRLzvAWU3YPsrEbABV95151YY0j12tTgHvIwKcaOk6KLShw7gkFTvg58XRyDgOex3+8sSlVy12GeCk27WfUNnF2+dn0/ztsf0mn1drmQikcEHBVXQT12m6dPubdGAi75Eu74Mb01N7iESTwn4LysDabBwsgRDJryJfvyQnUJHSQjzYut6U61gLeXz162baM5MnSyYtMCCYyvA2IKRorwuKgVcFyoJNNc1Ve0/hIPS8WgPQx1nBe7Ke+FMNbahJQXMo2CM+XrEoump7EIOFs4VvpCeycuzxVwUqkrZfQJVsPZXLFLq7LnldCHvoKW2mXZ4vWPGowTWC3gvOfFCA81Z+lDg68rcyhgaaX1Wm/ghi/cxKO2mBwviqQ30UjAJl/7lTU9cBjGowbFZ6r1LWeb8NhCPOrDh1ZHLoFNwEl1FpZGt+64v6UNTYHhJgI+XoCoTpP+heh5JjtuJWCLr3NDsBhGc4NVc2Cjd+m/kcSvlvrQv3oX6yJWMjtK1rTuD9fZ2rSZFV9eWrmuCjiJMX9YVGYqmzLEFsNmob6W3jiFJnsoiq+KuZstwjYGQ8wCLvV8PDYqHmVKHx5k2Qv8FhrAMQgYwDEIGMAxCBjAMQgYwDEIGMAxCBjAMQgYwDEcqQPgGI7UkYn25rzxSB3nBk/Y1Ho3GTi1Wy3EfBUz6QNO5BAIf/gpbeZ41ZE6vg0uy3LLMkfqPA8EfET0C3hxN8v+Y919e2O2OVZrKuDa4LIsW3ed3C9W2qRiNFnKl9nXpeFInSPC1CYx59tNt1Ba7EbybnDruYrdSOL3xRaO1FmWhSN1DomKq6Aeu83Tn3ekjnuDe4LOCTgva8tbpgSDpnzJvrzAkTpFkuW0dUC85kidCxk8RK7Jt385k5DyQqZRcKZ8XWLR9DQcqaMTn16w3deLjtRxbTBOYLWA857PMC2hWPJl8HVlOFJHQa7w0tVP9VQCX3prbVB8plrfchypUwNH6tR94ZVH6nwLg/dm4xyYI3Uq4Uid8g0LFl92pI5rgyFmAXOkTjX8FhrAMQgYwDEIGMAxCBjAMQcC7rruldEAQBUIGMAxCBjAMQgYwDEIGMAxCBjAMQgYwDEIGMAxCBjAMQgYwDEIGMAxCBjAMQgYwDEIGMAxCBjAMQgYwDEIGMAx/wGSUp/KOd+aRAAAAABJRU5ErkJggg==" alt="" />
3. java对象转换成为JSON对象
/**
* java对象转换成为JSON对象
*
* @Description
* @author admin
* @created 2015年6月30日 上午10:31:08
*/
@Test
public void javaToJson() {
SimInfo simInfo = new SimInfo();
simInfo.setAddTime("2015-06-30");
simInfo.setIccid("1111");
simInfo.setImei("2222");
simInfo.setImsi("3333");
simInfo.setPhoneType("4");
simInfo.setRemark("aaaa");
simInfo.setTel("5555");
// java对象转换为json数组对象
JSONArray jsonArray = new JSONArray().fromObject(simInfo);
// json:
// [{"addTime":"2011-09-19 14:23:02","iccid":"1111","id":0,"imei":"2222","imsi":"3333","phoneType":"4444","remark":"aaaa","tel":"5555"}]
System.out.println("json: " + jsonArray.toString());
}
输出结果:
aaarticlea/png;base64,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" alt="" />
二. 基于json-lib.jar包Json实例程序的一些总结
1. 把一个JSON字符串转换成JSON对象的两种方式:
String json = "[{\"addTime\":\"2011-09-19 14:23:02\",\"iccid\":\"1111\",\"id\":0,\"imei\":\"2222\",\"imsi\":\"3333\",\"phoneType\":\"4444\",\"remark\":\"aaaa\",\"tel\":\"5555\"}]";
if (json.indexOf("[") != -1) {
json = json.replace("[", "");
}
if (json.indexOf("]") != -1) {
json = json.replace("]", "");
}
方式一:
JSONObject obj = JSONObject.fromObject(json);
方式二:
JSONObject obj = (JSONObject) JSONSerializer.toJSON(json);
2. JSONObject to DynaBean
String json = "{name=\"json\",bool:true,int:1,double:2.2}";
JSONObject jsonObject = JSONObject.fromObject(json);
//抽象的写法:DynaBean bean = (DynaBean) JSONSerializer.toJava( jsonObject );
Object bean = JSONObject.toBean(jsonObject);
//Object bean1 = JSONSerializer.toJava(jsonObject);
3. JSONObject to JavaBean
String json = "{name:\"zhangsan\",age:25,hight:1.72,sex:true}";
JSONObject jsonObject = JSONObject.fromObject(json);
UserBean bean = (UserBean) JSONObject.toBean(jsonObject, UserBean.class);
4. JSONArray to List
String json = "[\"first\",\"second\"]";
JSONArray jsonArray = (JSONArray) JSONSerializer.toJSON(json);
List output = (List) JSONSerializer.toJava(jsonArray);
5. JSONArray to array
String json = "[\"first\",\"second\"]";
JSONArray jsonArray = (JSONArray) JSONSerializer.toJSON(json);
JsonConfig jsonConfig = new JsonConfig();
jsonConfig.setArrayMode(JsonConfig.MODE_OBJECT_ARRAY);
Object[] output = (Object[]) JSONSerializer.toJava(jsonArray, jsonConfig);
json学习系列(8)JSON与JAVA数据的相互转换实例的更多相关文章
- Json学习总结(2)——Java 下的 JSON库性能比较:JSON.simple vs. GSON vs. Jackson vs. JSONP
JSON已经成为当前服务器与WEB应用之间数据传输的公认标准,不过正如许多我们所习以为常的事情一样,你会觉得这是理所当然的便不再深入思考了.我们很少会去想用到的这些JSON库到底有什么不同,但事实上它 ...
- Json学习总结(1)——Java和JavaScript中使用Json方法大全
摘要:JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. JSON采用完全独立于语言的文本格式,但是也使用了类似于C语 ...
- json学习系列(3)-JSONObject的过滤设置
我们通常对一个json串和java对象进行互转时,经常会有选择性的过滤掉一些属性值.例如下面的实体类: package com.pcitc.json; /** * Person实体类 * * @Des ...
- json学习系列(5)-json错误解析net.sf.ezmorph.bean.MorphDynaBean cannot be cast to
最近在使用json的时候,报了下面的错误: net.sf.ezmorph.bean.MorphDynaBean cannot be cast to java.lang.String 这种错误非常常见, ...
- json学习系列(2)-生成JSONObject的方法
生成JSONObject一般有两种方式,通过javabean或者map类型来生成.如下面的例子: 先定义一个User实体类: package com.pcitc.json; /** * 用户实体类 * ...
- json学习系列(1)-使用json所要用到的jar包下载
内容来源于互联网. json是个非常重要的数据结构,在web开发中应用十分广泛.每个开发者都应该好好的去研究一下json的底层实现.在使用json之前首先要明白需要哪些jar文件,初次使用的时候很容易 ...
- JSON与JAVA数据的相互转换
http://www.cnblogs.com/linjiqin/archive/2011/09/19/2181408.html import net.sf.json.JSONArray; import ...
- json学习系列(7)JSONBuilder的用法
JSONBuilder可以向文件中写入写入json字符串.如下面的例子: public class Test { public static void main(String args[]) thro ...
- json学习系列(6)JSONObject和JSONArray是JDK的集合部分延伸
我一直觉得JSONObject和JSONArray是JDK集合部分的延伸,它们与JDK的List和Map一脉相承.通过研究JSONObject和JSONArray的结构,我们顺便也复习一下JDK的内容 ...
随机推荐
- POJ 2513 Colored Sticks
Colored Sticks Time Limit: 5000MS Memory Limit: 128000K Total Submissions: 28036 Accepted: 7428 ...
- 二分图最大匹配的König定理及其证明
二分图最大匹配的K?nig定理及其证明 本文将是这一系列里最短的一篇,因为我只打算把K?nig定理证了,其它的废话一概没有. 以下五个问题我可能会在以后的文章里说,如果你现在很想知道的话,网上 ...
- 在spring中获取代理对象代理的目标对象工具类
昨天晚上一哥们需要获取代理对象的目标对象,查找了文档发现没有相应的工具类,因此自己写了一个分享给大家.能获取JDK动态代理/CGLIB代理对象代理的目标对象. 问题描述:: 我现在遇到个棘手的问题,要 ...
- PHP常用正则表达式
正则表达式用于字符串处理.表单验证等场合,实用高效.现将一些常用的表达式收集于此,以备不时之需. 匹配中文字符的正则表达式: [\u4e00-\u9fa5] 评注:匹配中文还真是个头疼的事,有了这个表 ...
- Systemd入门教程:命令篇
导读 传统的Linux系统启动过程主要由著名的init进程(也被称为SysV init启动系统)来处理,而基于init的启动系统被认为有效率不足的问题,systemd是Linux系统机器的另一种启动方 ...
- 开机提示grub可咋办啊
导读 GRUB是多启动规范的实现,它允许用户可以在计算机内同时拥有多个操作系统,并在计算机启动时选择希望运行的操作系统.GRUB可用于选择操作系统分区上的不同内核,也可用于向这些内核传递启动参数. 1 ...
- HTML5 自制本地网页视频播放器
HTML5初试:本地视频用网页打开啦半个广告都可以没有,看来暴风什么的快要淘汰了. 视频格式还是有要求的,看来要备一个转码器. 格式 IE Firefox Opera Chrome Safari Og ...
- Python Template 错误
ImportError: Settings cannot be imported, because environment variable DJANGO_SETTINGS_MODULE is und ...
- 25.在从1到n的正数中1出现的次数[NumberOf1Between1_N]
[题目] 输入一个整数n,求从1到n这n个整数的十进制表示中1出现的次数.例如输入12,从1到12这些整数中包含1 的数字有1,10,11和12,1一共出现了5次. [分析] 这是一道广为流传的goo ...
- iOS 定制controller过渡动画 ViewController Custom Transition使用体会
最近学习了一下ios7比较重要的一项功能,就是 controller 的 custom transition. 在ios7中,navigation controller 中就使用了交互式过渡来返回上级 ...