fastjson将对象转换为字符串时--null未输出的解决方法
今天笔者将一个map转换为json字符串输出时,当值为null,此时值被自动忽略
那么我们有没有方法将null输出呢?下文笔者将一一道来,如下所示
例
那么我们有没有方法将null输出呢?下文笔者将一一道来,如下所示
例
Map < String , Object > jsonMap = new HashMap< String , Object>(); jsonMap.put("a",888); jsonMap.put("b",""); jsonMap.put("c",null); jsonMap.put("d","java265.com"); String str = JSONObject.toJSONString(jsonMap); System.out.println(str); //输出以下信息:{"a":1,"b":"",d:"java265.com"} //以上输出的字符串中null为空的key被自动忽略了 //那么我们有没有办法将null的key,也输出呢?
我们只需在toJSONString时 加入相应的参数 如: JSONObject.toJSONString(Object object, SerializerFeature... features) SerializerFeature有用的一些枚举值 QuoteFieldNames———-输出key时是否使用双引号,默认为true WriteMapNullValue——–是否输出值为null的字段,默认为false WriteNullNumberAsZero—-数值字段如果为null,输出为0,而非null WriteNulllistAsEmpty—–List字段如果为null,输出为[],而非null WriteNullStringAsEmpty—字符类型字段如果为null,输出为”“,而非null WriteNullBooleanAsFalse–Boolean字段如果为null,输出为false,而非null输出null值JSON的写法
Map < String , Object > jsonMap = new HashMap< String , Object>(); jsonMap.put("a",1); jsonMap.put("b",""); jsonMap.put("c",null); jsonMap.put("d","java265.com"); String str = JSONObject.toJSONString(jsonMap,SerializerFeature.WriteMapNullValue); System.out.println(str); //输出结果:{"a":1,"b":"","c":null,"d":"java265.com"}
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。