博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Json——使用Json jar包实现Json字符串与Java对象或集合之间的互相转换
阅读量:5979 次
发布时间:2019-06-20

本文共 2775 字,大约阅读时间需要 9 分钟。

        总结一下利用Json相关jar包实现Java对象和集合与Json字符串之间的互相转换:

        1、创建的User类:

package com.ghj.packageofdomain;public class User {		private int id;	private String name;	private String gender;	public User() {	}	public User(int id, String name, String gender) {		this.id = id;		this.name = name;		this.gender = gender;	}		public int getId() {		return id;	}	public void setId(int id) {		this.id = id;	}	public String getName() {		return name;	}	public void setName(String name) {		this.name = name;	}	public String getGender() {		return gender;	}	public void setGender(String gender) {		this.gender = gender;	}	@Override	public String toString() {		return "id=" + id + ",name=" + name + ",gender=" + gender;	}}
        2、Java对象和集合与Json字符串之间的互相转换:
        i、Java对象与Json字符串之间的互相转换:

package com.ghj.packageoftest;import net.sf.json.JSONObject;import com.ghj.packageofdomain.User;public class Test{	public static void main(String[] args) {		System.out.println(objectToJsonString());		jsonStringToObject(objectToJsonString());	}		/**	 * 将Java对象转换为Json字符串	 * 	 * @author 高焕杰	 */	static String objectToJsonString(){		JSONObject jsonObject = JSONObject.fromObject(new User(1, "张三", "男"));	    return jsonObject.toString();	}		/**	 * 将Json字符串转换为Java对象	 * 	 * @author 高焕杰	 */	static void jsonStringToObject(String jsonString){		JSONObject jsonObject = JSONObject.fromObject(jsonString);		User user = (User)JSONObject.toBean(jsonObject, User.class);		System.out.println(user);	}}
        ii、Java集合与Json字符串之间的互相转换:
package com.ghj.packageoftest;import java.util.ArrayList;import java.util.List;import net.sf.json.JSONArray;import com.ghj.packageofdomain.User;public class Test{	public static void main(String[] args) {		System.out.println(collectionToJsonString());		jsonStringToCollection(collectionToJsonString());	}		/**	 * 将Java集合转换为Json字符串	 * 	 * @author 高焕杰	 */	static String collectionToJsonString(){		List
userList = new ArrayList
(); userList.add(new User(1, "张三", "男")); userList.add(new User(2, "李四", "女")); userList.add(new User(3, "王五", "男")); JSONArray jsonArray = JSONArray.fromObject(userList); return jsonArray.toString(); } /** * 将Json字符串转换为Java集合 * * @author 高焕杰 */ static void jsonStringToCollection(String jsonString){ JSONArray jsonArray = JSONArray.fromObject(jsonString); @SuppressWarnings("unchecked") List
userList = (List
)JSONArray.toCollection(jsonArray, User.class); for (User user : userList) { System.err.println(user); } }}
        注意:

        1、上面User类不仅有有參构造函数还有无參构造函数,有人可能会问为什么要有无參的构造函数呢?呵呵呵。为了方面构造User实例,加入了有參数的构造函数。但是正由于有了这个构造函数才必需要加入无參构造函数,否则会出现以下异常:

        假设不嫌构造User实例繁杂全然能够去掉这两个构造函数的——事实上这样的情况下无參构造函数还是存在的,呵呵呵,总之中的一个句话要实现Json字符串转化为Java实例或集合则相关类中要有无參的构造函数。

        2、 Java对象和集合与Json之间的互相转换需要借助对应的jar包实现,这些jar包能够在Demo中获取到

        【

你可能感兴趣的文章
设置Eclipse编码方式
查看>>
分布式系统唯一ID生成方案汇总【转】
查看>>
并查集hdu1232
查看>>
Mysql 监视工具
查看>>
Linux Namespace系列(09):利用Namespace创建一个简单可用的容器
查看>>
博客搬家了
查看>>
Python中使用ElementTree解析xml
查看>>
linux的日志服务器关于屏蔽一些关键字的方法
查看>>
mysql多实例实例化数据库
查看>>
javascript 操作DOM元素样式
查看>>
HBase 笔记3
查看>>
【Linux】Linux 在线安装yum
查看>>
Atom 编辑器系列视频课程
查看>>
[原][osgearth]osgearthviewer读取earth文件,代码解析(earth文件读取的一帧)
查看>>
mybatis update返回值的意义
查看>>
expdp 详解及实例
查看>>
通过IP判断登录地址
查看>>
深入浅出JavaScript (五) 详解Document.write()方法
查看>>
Beta冲刺——day6
查看>>
在一个程序中调用另一个程序并且传输数据到选择屏幕执行这个程序
查看>>