fastjson判空_fastjson 实现打印空值

本文介绍了如何使用Fastjson处理空值,包括在序列化时如何显示空值字段。通过设置SerializerFeature,如WriteMapNullValue,可以控制是否输出值为null的字段。示例展示了在实体类OrderDto中如何使用这些特性,并演示了对象与Map之间的转换,保持空值字段的处理一致性。
摘要由CSDN通过智能技术生成

1 fastjson 当value为空时,打印key

OrderDto stagesDto = new OrderDto();

stagesDto.setOrderNo("1000001");

//stagesDto.setPayOrderNo("200000001");

System.out.println(JSONObject.toJSONString(stagesDto, SerializerFeature.WriteMapNullValue));

System.out.println(JSONObject.toJSONString(stagesDto));

// 打印结果

{"orderNo":"1000001","payOrderNo":null}

{"orderNo":"1000001"}

2 实体类

// 订单实体类

public class OrderDto {

private String orderNo;

private String payOrderNo;

public String getOrderNo() {

return orderNo;

}

public void setOrderNo(String orderNo) {

this.orderNo = orderNo;

}

public String getPayOrderNo() {

return payOrderNo;

}

public void setPayOrderNo(String payOrderNo) {

this.payOrderNo = payOrderNo;

}

}

3 其他属性

QuoteFieldNames———-输出key时是否使用双引号,默认为true

WriteMapNullValue——–是否输出值为null的字段,默认为false

WriteNullNumberAsZero—-数值字段如果为null,输出为0,而非null

WriteNullListAsEmpty—–List字段如果为null,输出为[],而非null

WriteNullStringAsEmpty—字符类型字段如果为null,输出为”“,而非null

WriteNullBooleanAsFalse–Boolean字段如果为null,输出为false,而非null

4 打印对象和Map 效果一样

OrderDto stagesDto = new OrderDto();

stagesDto.setOrderNo("1000001");

stagesDto.setPayOrderNo("200000001");

System.out.println(JSONObject.toJSONString(stagesDto));

System.out.println("---------------------");

Map resultDate = new HashMap<>();

resultDate.put("orderNo","1000001");

resultDate.put("payOrderNo", "200000001");

System.out.println(JSONObject.toJSONString(resultDate));

System.out.println("---------------------");

// map 转对象

String jsonStr = JSONObject.toJSONString(resultDate);

stagesDto = JSONObject.parseObject(jsonStr,OrderDto.class);

System.out.println(stagesDto);

{"orderNo":"1000001","payOrderNo":"200000001"}

---------------------

{"orderNo":"1000001","payOrderNo":"200000001"}

---------------------

OrderDto{orderNo='1000001', payOrderNo='200000001'}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值