java jackson教程_9.jackjson使用教程

1.导入相关jar

com.fasterxml.jackson.core

jackson-core

2.7.3

com.fasterxml.jackson.core

jackson-databind

2.7.3

com.fasterxml.jackson.core

jackson-annotations

2.7.3

4c86b29ffa10158ebb053908001184ed.png

2.jackson常用方法记录

2.1 准备实体类

安装lombok插件

530f8d67281617505539d79155087435.png

2.2 对象转json

2.2.1 将所有转json 忽略指定的属性 及null值

需求:

25e6630653c02d2f683f4180f64d1fb4.png

效果:

c9bca6c6030a00d59e33fdaa65ca1745.png

方式1: 缺点:一个类上定义忽略的字段都会被忽略  别人如果需要就没办法了

@JsonIgnoreProperties({"descr", "other"})//忽略字段 descr, other  other 没有用到 这里只是展示忽略多个字段的方式

@JsonInclude(Include.NON_NULL) //忽略  null字段

a9fba5cadbbcc56db02ca728da087c84.png

方式2:根据需要自己在代码中忽略相应的字段  需要引入json-lib

效果:

57226bce8cf844d61bcc78268d2b0bbb.png

实现方式:

引入:jar

net.sf.json-lib

json-lib

2.4

jdk15

0ef04d3861e0da583c05fbd92d1f602b.png

代码中:

@RequestMapping("/objectToJson3")

public void objectToJson3(HttpServletResponse response) throws IOException{

//设置响应编码格式

response.setContentType("text/html; charset=utf-8");

//------------封装数据------------开始-----------------

User2 u = new  User2();//

//u.setId(2l);

u.setName("李四");

u.setDescr("jsonson 配合json-lib 使用 ");

u.setOther("json-lib 忽略 不需要的字段");

//------------封装数据------------结束-----------------

//--------------------json-lib处理数据--开始------------------------------------------------

JsonConfig jsonConfig = new JsonConfig();//import net.sf.json.JsonConfig;

jsonConfig.setExcludes(new String[] {"name","descr"});

JSONArray jsonArray = JSONArray.fromObject(u, jsonConfig);//import net.sf.json.JSONArray;

//--------------------json-lib处理数据--结束------------------------------------------------

ObjectMapper mapper=new ObjectMapper();

String jsonData = mapper.writeValueAsString(jsonArray);

PrintWriter out = response.getWriter();

out.write(jsonData);

out.flush();

out.close();

}

57b2c2e66e8c8fbb0acf6f3a4db91fa0.png

2.3 list 转 json

效果

c3c837ef7bc0b9fa35aacfa9e2c4dcf7.png

方式:

//jackson的核心,通过mapper来进行序列化和反序列化

ObjectMapper mapper=new ObjectMapper();

//序列化,write相关方法!write可以是序列化输出多种格式,当然这边最常用就是写成为String返回前端

String jsonData = mapper.writeValueAsString(list);

b2d7b047f2210e664432b4fc2fd1ddd7.png

2.4 map 转json

d54aa2af563de4e463b65a46f1fa87d1.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值