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'}