JSON 解析异常记录
JSON 解析异常记录
异常log
com.alibaba.fastjson.JSONException: not match : - =, info : pos 15, line 1, column 16
测试代码
Map<Object, Object> map = new HashMap<>();
map.put("textCentrality", "0.796");
map.put("userDBMapping", false);
log.info("before json={}", map.toString());
log.info("after json={}", JSON.toJSONString(map));
Feature feature = JSON.parseObject(map.toString()), Feature.class);
Feature feature = JSON.parseObject(JSON.toJSONString(map), Feature.class);
log输出
before json={textCentrality=0.796, userDBMapping=false}
after json={"textCentrality":"0.796","userDBMapping":false}
原因
在将Map类型转成Java对象的时候,如果直接以Map.toString()的形式会报错,因为得到的String字符串不是标准的Json数据类型,key上没有加双引号,这里用JSON.toJSONString(map)的方式转成符合Json数据类型的String,再转成Java对象就不会报错了

浙公网安备 33010602011771号