ObjectMapper.readTreeは無効な入力にIOExceptionをスローしません。

px06:

私は、ジャクソンのデータバインドを使用しています2.9.10それは述べてドキュメントによると:

解析中に問題が(無効なJSON)が発生した場合、JsonParseExceptionがスローされます

参照:ObjectMapper.readTreeを

私は次のテストを持っています:

    // 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

しかし、readTreeに変換TextNodeし、例外をスローしません...

デバッグ: ここでは、画像の説明を入力します。

どのように私はObjectMapperは無効な入力にスローするように設定することができますか?

マイケルZiober:

あなたは印刷するときにinvalidJson、変数を次のように表示されます"}{"実際に有効であるJSONとacordding json.orgまた、のようないくつかのウェブツールを使用していることを確認することができますjsonformatterあなたが直接設定する場合、パーサーは例外をスローしますinvalidJson。この文字列に変数を:

String invalidJson = "}{";

見るべき:

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]

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=330686&siteId=1