Java JSON 的使用

JSON 作为一种网络传输中常用的数据转换格式     不得不用啊  

它类似于XML  但是更小 更易解析   

推荐使用   FastJson的jar包     快且好用    

通过对JSON类的静态方法的调用  去完成转化  

那么转化什么呢    其实就是字符串和对象之间的转化    


String jsonStr = JSON.toJSONString(obj);
说明一下这里的obj   可以是一个自定义的对象  也可以是一个对象集合   如  List<obj>   


那么怎么转换回去呢  ?

举个栗子  :

public class Course {

	private String	week;		// 周几
	
	public Course(String week) {
		this.week = week;
		
	}

	public String getWeek() {
		return week;
	}

	public void setWeek(String week) {
		this.week = week;
	}
	
}
这是我们自定义的一个对象   

然后 将List<Course> data     这个对象集合     JSON转为String 


调用转换方法 :

public <T> List<T> getObjList(String jsonString, Class<T> cls) {
		return JSON.parseArray(jsonString, cls);
	}
结果来了个异常  :


看一眼说 缺了默认的构造方法     好吧   网上一查   自定义的Course类中需要了一个无参数的构造方法  

需要用反射的原理去解释如何创建这个对象   

那么给Course类 添加一个 

public Course(){}
转化单独的一个对象的方法  
public <T> T getObj(String jsonString, Class<T> cls) {
		return JSON.parseObject(jsonString, cls);
	}

关于 Map   和  List<Map>  的转化直接上代码   :

public List<Map<String, Object>> getObjListMap(String jsonString) {
		return JSON.parseObject(jsonString,
				new TypeReference<List<Map<String, Object>>>() {
				});
	}
如果是Map<String, Object>   就用new TypeReference<Map<String, Object>>()





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值