【发布时间】:2020-06-10 17:13:46
【问题描述】:
我想在父 json 中解析一个转义的子 json。现在我正在使用StringEscapeUtils.unescapeJava 首先取消转义字符串。然后我将未转义的字符串传递给objectMapper.readTree 以获取 JsonNode 对象。
{
"fileName": "ParentJson",
"child": "{\"fileName\":\"ChildJson\",\"Description\":\"Extract string value at child node and convert child json to JsonNode object using only Jackson.\"}"
}
当我使用 Jackson 并读取 child 节点的值时,它会在其周围添加引号。我不知道这是否是预期的行为。所以我必须先删除那些引号。
String childString = StringEscapeUtils.unescapeJava(parent.get("child").toString());
childString = StringUtils.removeStart(StringUtils.removeEnd(childString, "\"") , "\"");
JsonNode child = objectMapper.readTree(childString);
我觉得应该有更好的方法来处理这个用例,但我可能错了。
【问题讨论】:
标签: java json parsing jackson deserialization