JavaScriptでネストされたJSONオブジェクトを表示・出力する方法
JavaScriptでネストされたJSONオブジェクトをコンソールに出力するには、for...ofループとJSON.parse()メソッドを組み合わせて使用します。
ここでは、各学生オブジェクトの中に文字列形式で格納されているsubjectDetailsというネストされたJSONデータを、JSON.parse()でパースして値を取り出す方法を紹介します。
コード例
var details = [
{
"studentId": 101,
"studentName": "John",
"countryName": "US",
"subjectDetails": "{\"0\":\"JavaScript\",\"1\":\"David\"}"
},
{
"studentId": 102,
"studentName": "Bob",
"countryName": "UK",
"subjectDetails": "{\"0\":\"Java\",\"1\":\"Carol\"}"
},
{
"studentId": 103,
"studentName": "Mike",
"countryName": "AUS",
"subjectDetails": "{\"0\":\"MongoDB\",\"1\":\"Adam\"}"
}
]
for (const detailsObject of details) {
const subjectDetailsObject =
JSON.parse(detailsObject.subjectDetails);
console.log(subjectDetailsObject["0"]);
}プログラムの実行方法
上記のプログラムを実行するには、Node.js環境で以下のコマンドを使用します。
node fileName.js
ここでは、ファイル名をdemo145.jsとして保存しています。実行する際は、実際のファイル名に置き換えてください。
node demo145.js
出力結果
上記のコードを実行すると、以下のような出力が得られます。
PS C:\Users\Amit\JavaScript-code> node demo145.js JavaScript Java MongoDB
解説
このコードのポイントは以下の通りです。
- for...ofループ: 配列
detailsの各オブジェクトを順番に取り出します。 - JSON.parse():
subjectDetailsプロパティには、JSONオブジェクトではなく「文字列化されたJSON」が格納されています。そのため、JSON.parse()を使って文字列をオブジェクトに変換する必要があります。 - console.log(): パース後のオブジェクトからキー
"0"に対応する値(科目名)を取得し、コンソールに出力します。
なお、キーが数値形式の場合はsubjectDetailsObject[0]のようにインデックスでアクセスすることも可能です。
-
JavaScriptのJSON配列とは?基本構造と実装例をわかりやすく解説
JSON(JavaScript Object Notation)は軽量なデータ交換形式であり、その配列はJavaScriptの配列とほぼ同じ形で表現されます。角括弧 [] の中に値をカンマ区切りで並べることで、文字列や数値、オブジェクトなど複数のデータをひとつにまとめて扱えます。以下は、JavaScriptのオブジェクト内にJSON配列を含めた基本的な例です。let obj = { name:Rohan, sports : [cricket,Football,volleyball,hockey] }この例では、「sports」というプロパティに4つのスポーツ名が配列として格納さ
-
JSONテキストをJavaScriptのJSONオブジェクトに変換する方法を解説
JavaScriptでは、JSON.parse()メソッドを使用することで、JSON形式のテキスト文字列をJavaScriptオブジェクトへと変換できます。このメソッドは、APIから取得したデータやサーバーとの通信で受け取ったJSON文字列を、プログラム内で扱いやすいオブジェクトにパースする際に非常に重要な役割を果たします。 以下は、JSONテキストをJavaScriptオブジェクトに変換する具体的なコード例です。 サンプルコード <!DOCTYPE html> <html lang=ja> <head> <meta charset=UTF-8 /&