Jackson:在重命名期间从json字符串中丢失反斜杠

zxlwwiss  于 12个月前  发布在  其他
关注(0)|答案(1)|浏览(144)

无法在Java对象中保留反斜杠
下面是json {\"Num\":\"44566\677\"}
当我把这件事解释为反对
我把反斜杠弄丢了
预期:6787\32433实际:678732433
这就是我所尝试的

String json = "{\"num\":\"6787\32432"}";

Objectmapper obj = new Objectmapper();

obj.enable(ALLOW_BACKSLASH_ESCAPING_ANY_CAHATCTER);

obj.readvalue(json, new Typereferenxe<Map<String,String>>(){}));

字符串

hc2pp10m

hc2pp10m1#

反斜杠本身应该转义,所以尝试在JSON中添加另一个反斜杠-将{\"Num\":\"44566\677\"}更改为{\"Num\":\"44566\\677\"}
另外,如果你有兴趣,你可以使用一个简单的JsonUtils类来序列化和重新序列化简单的JSON到POJO/从POJO。JsonUtils是ObjectMapper类的一个薄 Package 器。你的代码将变成一行代码:

Map<String, Object> map = JsonUtils.readObjectFromJsonString(json, Map.class);`

字符串
JsonUtils类附带由我编写和维护的开源MjgntUtils java库。这里是JsonUtils Javadoc。您可以以maven artifact或从Github获得库-带有源代码和Javadoc

相关问题