実現したいこと
JSONの第二階層内にあるValueをKeyから取得したいです。
今回は第二階層には必ずorangeという名前がついたKeyがあるため、そのKeyに対応するValueを取得することを実現したいです。
該当するJSONファイル
json
1{ 2 "name": "test-json", 3 "something": { 4 "a": { 5 "orange": "car", 6 "apple" : "train" 7 }, 8 "b": { 9 "orange" : "airplane", 10 "apple" : "walk" 11 } 12 } 13}
試したこと
第二階層にアクセスするには第一階層を踏んでから取得する必要があると分かったため、
something直下の属性を全て取得し、for文で上から順番に属性を定義し、そこからKey(Orange)を取得し、そこからKey(Orange)に対応するValue(car, airplane)を取得ようとしたのですがfor文ないで定義している第一階層の名前の呼び出しが無効になってしまいます
js
1const jsonObject = JSON.parse(fs.readFileSync('test.json', 'utf8')); 2 3const a = JSON.stringify(jsonObject.something); 4const b = JSON.parse(a); 5const c = Object.keys(b); 6console.log(c) // 問題なく表示された 7 8for (let i = 0; i < c.length; i++) { 9 var koko = c[i]; 10 var doko = JSON.stringify(jsonObject.koko); // 定義しているkokoが呼び出せない 11 var soko = JSON.parse(doko); 12 var sore = Object.keys(soko) 13 console.log(sore) 14}
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/11/22 13:42