关于map转json,空key丢失的问题

public static void main(String[] args) {
    Map map= new HashMap();
    map.put("",null);
    map.put(1,1);

    //map转json的两种方式;
    System.out.println(new JSONObject(map));
    System.out.println(JSON.toJSONString(map, SerializerFeature.WRITE_MAP_NULL_FEATURES, SerializerFeature.QuoteFieldNames));
}


"C:Program FilesJavajdk1.8.0_144injava"
   {1:1}
   {"":null,1:1}

Process finished with exit code 0

关于SerializerFeature属性(列举比较常用的)

QuoteFieldNames                                    输出key时是否使用双引号,默认为true
WriteMapNullValue                                   是否输出值为null的字段,默认为false
WriteNullNumberAsZero                           数值字段如果为null,输出为0,而非null
WriteNullListAsEmpty List                         字段如果为null,输出为[],而非null
WriteNullStringAsEmpty                            字符类型字段如果为null,输出为”“,而非null
WriteNullBooleanAsFalse Boolean           字段如果为null,输出为false,而非null

原文地址:https://www.cnblogs.com/innocenter/p/12843217.html