json字符串序列化与反序列化

json字符串与对象之间的相互转化
序列化:对象转化为json字符串
反序列化:json字符串转化为对象
注意:需要jar包 jackson-databind-2.4.2


import java.util.ArrayList;
import java.util.List;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;

public class Testjson {
	private static final ObjectMapper MAPPER= new ObjectMapper();
	public static void main(String[] args) throws Exception {
		//1.序列化,将对象转化为字符串 MAPPER.writeValueAsString
		pojo p=new pojo();
		p.setId(12);
		p.setName("乐视");
		String objstr=MAPPER.writeValueAsString(p);
		System.out.println("序列化对象转化为json字符串:"+objstr);
		
		//2.序列化集合 ,创建集合,往集合中添加元素
		List<pojo> list=new ArrayList<pojo>();
		for(int i=0;i<5;i++) {
			pojo p1=new pojo();
			p1.setId(i);
			p1.setName("lsh"+i);
			list.add(p1);
		}
		String objStrList=MAPPER.writeValueAsString(list);
		System.out.println("对象集合转化为json字符串:"+objStrList);
		
		//3.反序列化,将json字符串转化为对象 MAPPER.readValue(字符串, 类);
		String objStr="{\"id\":7,\"name\":\"流星雨\"}";//斜杠\表示转义字符,复制时有些编译器会自己添加,没有要手动添加
		pojo objToStr=MAPPER.readValue(objStr, pojo.class);//底层其实就是反射
		System.out.println("反序列化json字符串转化为对象:"+objToStr);
		//4.反序列化集合  创建json集合字符串
		String objStringList="[{\"id\":0,\"name\":\"lsh0\"},"
				+ "{\"id\":1,\"name\":\"lsh1\"}]";
		//json字符串转化为jsonNode对象
		JsonNode node=MAPPER.readTree(objStringList);
		List<pojo> objPojoList=MAPPER.readValue(node.traverse(), 
				MAPPER.getTypeFactory()
				.constructCollectionType(List.class, pojo.class));
		System.out.println("反序列化对象集合:"+objPojoList);
	}

	
}

运行结果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值