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对象就不会报错了

posted @ 2023-01-03 19:11  Dream可乐  阅读(54)  评论(0)    收藏  举报