ネットで探したり chatGPT に聞いたりして作りました。
json | jsonc | json5 | jsonl | ndjson | |
---|---|---|---|---|---|
とは? | みんな知ってる JSON。 | コメントが書ける JSON | JavaScript のオブジェクト互換の JSON | 一行ごとに 1 つの JSON を置ける JSON | 1 行ごとに複数の json を並べて書ける json |
拡張子 | .json | .jsonc | .json5 | .jsonl | .ndjson |
何の略? | JavaScript Object Notation | JSON with Comments | JSON for Humans | JSON Lines | Newline delimited JSON |
良さ | 省略 | .eslintrc とか .tsconfig.json とかで使われてるらしい。 | ES5 互換。jsonc と比べて、キーに " が不要だったり trailing comma 許容だったり。 |
大規模なデータセットを 1 行ずつ処理する際に便利です。各行は独立しているため、一度に全体をメモリに読み込む必要がありません。 | jsonl と違う点として、一行に複数の json を置ける。 |
例 | 省略 | 省略 | 省略 | {"name": "John", "age": 30} {"name": "Alice", "age": 25} {"name": "Bob", "age": 35} |
{"name": "John", "age": 30}{"name": "Alice", "age": 25} {"name": "Bob", "age": 35} |
コメント | RFC8259。 wiki | 特に標準化されてないらしい。 | 公式 | 公式 | 公式 |
- VSCode では config 系の json ファイルを jsonc として解釈してくれてるらしい。右下の拡張子のとこにそう書いてある。