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?
Use the String. replaceAll() method to remove all double quotes from a string, e.g. str. replaceAll('"', '') . The replace() method will return a new string with all double quotes removed.
To remove double quotes just from the beginning and end of the String, we can use a more specific regular expression: String result = input. replaceAll("^\"|\"$", ""); After executing this example, occurrences of double quotes at the beginning or at end of the String will be replaced by empty strings.
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
.
Simple generic ternary to use the non-quoted text, otherwise keep the node intact.
node.isTextual() ? node.asText() : node
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With