Быстрее XML Джексон: удалите двойные кавычки

У меня есть следующий json:

{"test":"example"}

Я использую следующий код из Faster XML Jackson.

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

Он выводит:

"example"

Есть ли настройка в Джексоне для удаления двойных кавычек?

Ответы

Ответ 1

Ну, что вы получаете, когда вы .get("test") - это JsonNode и это, оказывается, TextNode; когда вы .toString(), оно вернет строковое представление этого TextNode, поэтому вы получите этот результат.

Вы хотите:

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

который вернет фактическое содержимое самой строки JSON (со всем, что не показано и так далее).

Обратите внимание, что это вернет null, если JsonNode не является TextNode.

Ответ 2

Простой общий тернар для использования некабельного текста, в противном случае сохранить узел неповрежденным.

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