px06:
Estoy usando Jackson databind 2.9.10
. De acuerdo con la documentación que establece lo siguiente:
Si se produce un problema al analizar JSON (no válido), se lanzará JsonParseException
Tengo la siguiente prueba:
// Given
String invalidJson = new POJONode("}{").toString();
final InputStream mockInputStream = new ByteArrayInputStream(invalidJson.getBytes());
// When
myLambda.handleRequest(mockInputStream, mockOutputStream, mockContext);
// Then
Expect some stuff to happen in the catch JsonProcessingException bit
Sin embargo, readTree
la convierte en una TextNode
y no una excepción ...
¿Cómo puedo configurar ObjectMapper a tirar en una entrada no válida?
Michael Ziober:
Al imprimir invalidJson
la variable se verá "}{"
que en realidad es una válida JSON
acordding a json.org . También puede confirmar que el uso de algunas herramientas web como jsonformatter . Analizador arrojará una excepción cuando se establece directamente invalidJson
variable para esta cadena:
String invalidJson = "}{";
Debería ver:
Exception in thread "main" com.fasterxml.jackson.core.JsonParseException: Unexpected close marker '}': expected ']' (for root starting at [Source: (String)"}{"; line: 1, column: 0])
at [Source: (String)"}{"; line: 1, column: 2]