Más rápido XML Jackson: Eliminar comillas dobles


Tengo el siguiente json:

{"test":"example"}

Utilizo el siguiente código de Faster XML Jackson.

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

Produce:

"example"

¿Hay una configuración en Jackson para eliminar las comillas dobles?

Author: Karl Morrison, 2015-02-21

2 answers

, lo que se obtiene al .get("test") es a JsonNode y pasa a ser un TextNode; cuando .toString(), volverá la representación de cadena de la que TextNode, que es por qué usted obtener ese resultado.

Lo que quieres es:

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

Que devolverá el contenido real de la cadena JSON en sí (con todo sin escapar y así sucesivamente).

Tenga en cuenta que esto devolverá null si el JsonNode no es a TextNode.

 42
Author: fge,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-02-21 14:10:15

Ternario genérico simple para usar el texto no citado, de lo contrario mantenga el nodo intacto.

node.isTextual() ? node.asText() : node
 4
Author: Jon Polaski,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-09-29 16:43:10