今日の学び #29 2024-06-19
Trailing comma(ケツカンマ)
jsonファイルをNodeのJSON.parseでパースする時に、読み込めないファイルがあったので、ファイルの中身を分割しながら調査していくと、以下のようなケツカンマがあった。
{"fontStyle": "italic",}
このカンマ一つでparseの可否が変わり、Chromeで確認しても同じくエラーになった。
で、しかもエラーが
Expected double-quoted property name in JSON at position 23 (line 1 column 24)
なので分かりづらい。(カンマがあるなら、その後にはkeyが来ることを期待しているのであれば、妥当なエラーかも)
代わりにJSON5をインストールしてJSON5.parseを使った。
JSON5だと、コメントやシングルクオートによる文字列があっても読み込める。
JSONCというものもあるが明確な違いが分からない。