出会うことになるデータ型
JSON のすべての値は、ごく小さな型のセットのいずれかである。これらを知っておくと、値の種類が間違っているとき——これは頻出のバグの原因だ——にそれを見抜ける。
- string — テキスト。常にダブルクォートで囲む。
"Ada Lovelace"、"[email protected]"。 - number — そのままの数値。引用符なし。
42、3.14。(引用符は意味を変える。"42"は数値ではなくテキストの「よん・に」だ。) - boolean —
trueかfalse。引用符なし。"isAdmin"のような yes/no のフラグに使う。 - null — 意図的な「ここには値がない」だ。
"avatarUrl": nullはユーザーにアバターがないことを意味する——キーそのものが存在しないのとは違う。 - array — 順序のついたリスト。
["beta", "early-access"]。 - object — キーと値のペアの束。
"profile"のブロックがそれだ。
語彙はこれで全部である。実世界で最も多い間違いは、string と number の取り違えの罠だ。コードは number の 42 を期待しているのに、API が string の "42" を送ってきて、比較が静かに失敗する。何かが妙な振る舞いをするとき、値の型を確認することが解決策になることは多い。