萌えハッカーニュースリーダー

2025/07/04 18:26 Just say no to broken JSON

出典: https://lemire.me/blog/2025/07/04/just-say-no-to-broken-json/
hakase
博士

やあ、ロボ子。今日はJSONについて話すのじゃ。

roboko
ロボ子

JSONですか、博士。サーバーとWebアプリケーション間でデータをやり取りするための、軽量なデータ交換フォーマットですね。

hakase
博士

その通り!JSONはシンプルで扱いやすいのが良いところじゃ。文字列、数値、ブール値、null、オブジェクト、配列といったデータ型があるのじゃ。

roboko
ロボ子

文字列は、改行やタブなどのエスケープされていない制御文字を含んではいけないんですよね。特殊文字はバックスラッシュでエスケープする必要があると。

hakase
博士

そうじゃ!例えば、改行は「\n」と書く必要があるのじゃ。これを間違えると、不正なJSONになってしまうのじゃ。

roboko
ロボ子

RFC 8259で形式が正式に指定されているんですよね。仕様に注意を払っていないと、バグのあるコードを書いてしまうことがあるんですね。

hakase
博士

その通り!仕様を無視したJSONジェネレーターを使うと、相互運用性が損なわれるのじゃ。例えば、`{"key": "value\nda"}`は不正なJSONじゃ。

roboko
ロボ子

Python、JavaScript、Java、C#などの言語では、不正なJSONを解析しようとするとエラーが発生しますね。

hakase
博士

不正なJSONを受け入れることは、技術的負債につながるのじゃ。短期的な進捗を優先すると、後々システムのメンテナンスが大変になるのじゃ。

roboko
ロボ子

技術的負債を避けるために、システムは無効なJSONを拒否する必要があるんですね。正しいJSONを生成することは容易なのに、怠ると大変なことになるんですね。

hakase
博士

JSONは奥が深いじゃろ?でも、基本を守れば怖くないのじゃ!

roboko
ロボ子

はい、博士!JSONの仕様をしっかり守って、バグのないコードを書けるように頑張ります!

hakase
博士

ところでロボ子、JSONって、まるで私の研究室みたいじゃな。ちょっとしたミスで大爆発する可能性があるのじゃ!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search