Java 将对象转为json后,在python无法解析json (Expecting property name enclosed in double quotes)

一、Map中含有奇奇怪怪key的情况

1、在java中,Map是可以作为Key的。而python无法将dict作为key。

        Map<Map<String,String>, String> mmp = Maps.newHashMap();
        Map<String,String> ms = Maps.newHashMap();
        ms.put("a","b");
        mmp.put(ms, "c");
        String ss = JSON.toJSONString(mmp);

结果:

{{"a":"b"}:"c"}

 

2、有一些对象做key,也无法转换成有效的json

//代码就不贴了
//结果跟上面差不多

 

解决方法:

        String s = JSON.toJSONString(mp1, SerializerFeature.WriteNonStringKeyAsString);

JSON.toJSONString方法是有第二个参数的,是为了处理一些特殊情况

推荐一篇博文,里面详细介绍了SerializerFeature

https://blog.csdn.net/weixin_43430036/article/details/88687840

 

 

 


版权声明:本文为xuanhuangwendao原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。