Jackson 对象被序列化2次后, json字符串 里有反斜杠

比如一个map结构

{
    "1001": {
        "name": "zhangsan",
        "age": 12
    }
}
如果被序列化处理了2次
第一次:
String data = objectMapper.writeValueAsString(map);
第二次:
data = objectMapper.writeValueAsString(data);

// 此时的字符串是
"{\"1001\":{\"name\":\"zhangsan\"},\"age\":12}"

// 手动转回成json字符串一次, 此处不能用toString 否则值是之前的格式
data = objectMapper.readTree(sensorsData).asText();
// 再把json格式的字符串转回 map对象
Map> dataMap = objectMapper.readValue(data,
        new TypeReference>() {
        });

你可能感兴趣的:(json,java,前端)