fastjson null 值处理

Posted mthoutai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了fastjson null 值处理相关的知识,希望对你有一定的参考价值。

偶然用到fastjson转换json 在前台用js解析竟然某些字段没有,曾经用过gson。联想到是不是相似gson默认将null值不显示了,找了下资料果真如此

直接上代码吧

import java.util.HashMap;
import java.util.Map;

import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializerFeature;


public class Test2 {

    /**
     * @param args
     */
    public static void main(String[] args) {

        /*
         * QuoteFieldNames———-输出key时是否使用双引號,默觉得true 
           WriteMapNullValue——–是否输出值为null的字段,默觉得false 
           WriteNullNumberAsZero—-数值字段假设为null,输出为0,而非null 
           WriteNullListAsEmpty—–List字段假设为null,输出为[],而非null 
           WriteNullStringAsEmpty—字符类型字段假设为null,输出为”“,而非null 
           WriteNullBooleanAsFalse–Boolean字段假设为null,输出为false,而非null
         */



        Map < String , Object > jsonMap = new HashMap< String , Object>();  
        jsonMap.put("xyw",1);  
        jsonMap.put("123","");  
        jsonMap.put("xuyw",null);  
        jsonMap.put("xywa","css");  

        String str = JSONObject.toJSONString(jsonMap);  
        System.out.println(str);

        String str2 = JSONObject.toJSONString(jsonMap,SerializerFeature.WriteMapNullValue);  
        System.out.println(str2);
    }

}

输出结果

{"123":"","xyw":1,"xywa":"css"}
{"123":"","xuyw":null,"xyw":1,"xywa":"css"}

以上是关于fastjson null 值处理的主要内容,如果未能解决你的问题,请参考以下文章

FastJson NULL值的处理 JSON.toJSONString

Fastjson对范型处理的bug

fastjson解析null值问题: 解决 null的属性不显示问题

Java对象转换Json的细节处理

FastJson 转换 javaBean 时 null 值被忽略都问题

RestTemplate传输值为null的属性利用FastJson将属性中有空值null的对象转化成Json字符串