ObjectMapper.readTree no lanza IOException en la entrada no válida

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

Ver: ObjectMapper.readTree

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, readTreela convierte en una TextNodey no una excepción ...

Depurar: introducir descripción de la imagen aquí

¿Cómo puedo configurar ObjectMapper a tirar en una entrada no válida?

Michael Ziober:

Al imprimir invalidJsonla variable se verá "}{"que en realidad es una válida JSONacordding 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 invalidJsonvariable 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]

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=330689&siteId=1
Recomendado
Clasificación