json包的json使用时,报JSON keys must be Strings的问题"/>
net.sf.json包的json使用时,报JSON keys must be Strings的问题
在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)可以正常解析。
更多推荐
net.sf.json包的json使用时,报JSON keys must be Strings的问题
发布评论