net.sf.json包的json使用时,报JSON keys must be Strings的问题

2023-05-16

在spring boot的项目中,由于二次序列化,fastjson解析数据落盘至HDFS路径时,会造成反斜杠\

换用net.sf.json.json可以解决这个问题

但是net.sf.json.json对于两种json解析不成功,一种是key为"null"的情况,另一种是key中存在\“XXX”反斜杠导致解析不成功的情况

报错如下:

具体解析使用的是

val json = JSONObject.fromObject(jsonstr)

在jsonstr这个json字符串中存在以下两种情况导致解析不成功:

{"appDiaoqi_pid_90d":[{"1998":1},{"null":1}]}

{"ip_90d":[{"{\"mcid\":\"694\",\"idfa\":\"-\",\"official\":\"true\",\"rimei\":\"A000006EED9A0C\",\"deviceid\":\"e2b060e2b6f9897b\",\"mac\":\"-\",\"currentcid\":\"79\",\"nettype\":\"wifi\",\"serverIp\":\"10.145.85.244\",\"idfv\":\"-\",\"uniqueid\":\"0cfa2241466ca0e8fc7e1126d6002e4f\",\"androidid\":\"e2b060e2b6f9897b\",\"cid\":\"79\"}":1}]}

有可能是net.sf.json.json包的bug,在fastjson中通过JSON.parseObject(jsonstr)可以正常解析。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

net.sf.json包的json使用时,报JSON keys must be Strings的问题 的相关文章

随机推荐