Google gson で JSON読込みした時に発生する MalformedJsonException
のパターンとは、以下の表にまとめることができる。
エラーのパターンは、これ以外あるかもしれないが、だいたいこんなところ。
例外のメッセージ | エラーの意味 | JSONエラーの例 |
Unterminated object | value表現エラー | "date" : 2019/12/03 |
Unterminated String | value表現エラー (文字列が期待されてるのに文字列認識できない) |
"a": ' |
Unterminated array | value表現エラー (配列が期待されてるのに、配列認識できない) |
"a" : ["A":12] |
Expected name | キーの表現が解釈できない(想定できない) | {} : 2 : 2 |
Expected ':' | key-value 区切り文字が ':' でない | 'a';1 "a"\t 2 |
Expected value | value 表現解釈できない(想定できない) | "data": /03 |
Unexpected value | 想定外の value | "a": |
日付を value として表現する クォートもダブルクォートでも括らない
"date" : 2019-12-03
は、エラーにならないが、
"date" : 2019/12/03
は、Unterminated object になる。
Unexpected value や、Expected value 等は、沢山ケースがありそうだ。
これら、MalformedJsonException 発生として捕捉できるエラーであるが、
では、先日作成した
oboe2uran.hatenablog.com
この中の エラー捕捉処理として上の表のエラー詳細の種類まで、
認識してラムダで処理できるように、
先日作ったものを改良すべきか悩んでいる。。
(改良することは簡単なのだが、ラムダ式の引数が増えるので、仕様として躊躇している。)
2019-4-6 結局、ラムダ式の引数を追加した。。。
→
malformedcatch · yipuran/yipuran-gsonhelper Wiki · GitHub