我有以下json:
{"test":"example"}
我使用Faster XML Jackson中的以下代码。
JsonParser jp = factory.createParser("{\"test\":\"example\"}");
json = mapper.readTree(jp);
System.out.println(json.get("test").toString());
输出:
"example"
杰克逊是否有设置删除双引号?
答案 0 :(得分:55)
嗯,当.get("test")
为JsonNode
并且碰巧是TextNode
时,您获得了什么;当你.toString()
它时,它将返回TextNode
的字符串表示,这就是你获得该结果的原因。
你想要的是:
.get("test").textValue();
将返回JSON字符串本身的实际内容(所有内容都未转义,等等)。
请注意,如果JsonNode
不是 TextNode
,则会返回null。
答案 1 :(得分:4)
使用非引用文本的简单通用三元组,否则保持节点完整。
node.isTextual() ? node.asText() : node