JSONオブジェクトリテラル
これはJSON文字列です:
'{"name":"John", "age":30, "car":null}'
JSON文字列内には、JSONオブジェクトリテラルがあります。
{"name":"John", "age":30, "car":null}
JSONオブジェクトリテラルは中括弧{}で囲まれています。
JSONオブジェクトリテラルには、キーと値のペアが含まれています。
キーと値はコロンで区切られます。
キーは文字列である必要があり、値は有効なJSONデータ型である必要があります。
- ストリング
- 番号
- 物体
- 配列
- ブール値
- ヌル
各キーと値のペアはコンマで区切られます。
JSONオブジェクトリテラルを「JSONオブジェクト」と呼ぶのはよくある間違いです。
JSONをオブジェクトにすることはできません。JSONは文字列形式です。
文字列形式の場合、データはJSONのみです。JavaScript変数に変換すると、JavaScriptオブジェクトになります。
JavaScriptオブジェクト
JSONオブジェクトリテラルからJavaScriptオブジェクトを作成できます。
例
myObj = {"name":"John", "age":30, "car":null};
通常、JSON文字列を解析してJavaScriptオブジェクトを作成します。
例
myJSON = '{"name":"John", "age":30, "car":null}';
myObj = JSON.parse(myJSON);
オブジェクト値へのアクセス
ドット(。)表記を使用して、オブジェクトの値にアクセスできます。
例
const myJSON = '{"name":"John", "age":30, "car":null}';
const myObj = JSON.parse(myJSON);
x = myObj.name;
角かっこ([])表記を使用してオブジェクト値にアクセスすることもできます。
例
const myJSON = '{"name":"John", "age":30, "car":null}';
const myObj = JSON.parse(myJSON);
x = myObj["name"];
オブジェクトのループ
for-inループを使用して、オブジェクトのプロパティをループできます。
例
const myJSON = '{"name":"John", "age":30, "car":null}';
const myObj = JSON.parse(myJSON);
let text = "";
for (const x in myObj) {
text += x + ", ";
}
for-inループでは、角かっこ表記を使用してプロパティ値にアクセスします。
例
const myJSON = '{"name":"John", "age":30, "car":null}';
const myObj = JSON.parse(myJSON);
let text = "";
for (const x in myObj) {
text += myObj[x] + ", ";
}