【发布时间】:2020-04-18 15:38:33
【问题描述】:
如果 JSON 键包含 /(也用作 at 方法的语法中的分隔符),我无法使用 jackson JSONNode#at 方法匹配节点。
例如下面的 JSON
{
"message": "Hi",
"place/json": {
"name": "World!"
}
}
我们有密钥place/json,其中包括/是密钥的一部分。
如果我使用类似的代码
public static void main(String[] args) throws IOException {
ObjectMapper mapper = new ObjectMapper();
String jsonHiWorld = "{\"message\":\"Hi\",\"place/json\":{\"name\":\"World!\"}}";
String message = mapper.readTree(jsonHiWorld).at("/message").asText();
String place = mapper.readTree(jsonHiWorld).at("/place/json/name").asText();
System.out.println(message + " " + place); // should print "Hi World!"
}
我得到输出:Hi
但期望输出为:Hi World
【问题讨论】:
标签: java json string jackson unicode-escapes