Karl Morrison Karl Morrison - 2 months ago 38
Java Question

Faster XML Jackson: Remove double quotes

I have the following json:

{"test":"example"}


I use the following code from Faster XML Jackson.

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


It outputs:

"example"


Is there a setting in Jackson to remove the double quotes?

fge fge
Answer

Well, what you obtain when you .get("test") is a JsonNode and it happens to be a TextNode; when you .toString() it, it will return the string representation of that TextNode, which is why you obtain that result.

What you want is to:

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

which will return the actual content of the JSON String itself (with everything unescaped and so on).

Note that this will return null if the JsonNode is not a TextNode.

Comments