2016-06-22 17 views
2

私はJSONファイルが有効だったかどうかをチェックするために、次を使用していた。JsonパーサーがJavaで末尾のカンマをキャッチするには?

JsonParser parser = new JsonParser(); 
parser.parse(new String(Files.readAllBytes(Paths.get((filePath.toString()))))); 

をしかし、私は検証していますJSONファイルは、それがために例外をスローしないことを以下のようにカンマを末尾ました:

"file":"hello.htm"},] 

これは最後の属性なので、カンマは不要で、アプリケーションの他の領域で問題を引き起こしています。パーサーや、この末尾のカンマを捕まえるための方法がありますか?

+0

検証の前にこれらのコンマを削除するとよいでしょう。詳しくはこれをご覧くださいhttp://stackoverflow.com/questions/34344328/json-remove-trailiing-comma-from-last-object – gevorg

+0

'JsonParser'タイプは何ですかこの? –

答えて

2

JsonParserがGsonの一部であると仮定すると、あなたは現在運が悪いです。 Gsonの解析では、現在、JSON配列の末尾のカンマがnullの値として解釈されます。​​。

一方、別の解析ライブラリを使用することができます。私はジャクソンを提案する。あなただけのJSONを検証している場合は、これはそれが,、ではないの後に実際の値を期待していることを示す

Unexpected character (']' (code 93)): expected a value 

のようなメッセージと、例外がスローされます

ObjectMapper mapper = new ObjectMapper(); 
mapper.readTree(Files.readAllBytes(Paths.get(filePath.toString()))); 

使用することができます閉鎖配列シンボル。

関連する問題