Fasterxml Jackson:删除双引号

时间:2015-02-21 13:53:42

标签: java json jackson

我有以下json:

{"test":"example"}

我使用Faster XML Jackson中的以下代码。

JsonParser jp = factory.createParser("{\"test\":\"example\"}");
json = mapper.readTree(jp);
System.out.println(json.get("test").toString());

输出:

"example"

杰克逊是否有设置删除双引号?

2 个答案:

答案 0 :(得分:55)

嗯,当.get("test")JsonNode并且碰巧是TextNode时,您获得了什么;当你.toString()它时,它将返回TextNode的字符串表示,这就是你获得该结果的原因。

你想要的是:

.get("test").textValue();

将返回JSON字符串本身的实际内容(所有内容都未转义,等等)。

请注意,如果JsonNode 不是 TextNode,则会返回null。

答案 1 :(得分:4)

使用非引用文本的简单通用三元组,否则保持节点完整。

node.isTextual() ? node.asText() : node