##やりたいこと
以下のようなjsonファイル(かなり簡略化しています)で、特定のキーを変更したいです。
変更する箇所は2点あります。
①"color"をキーごと消したい
②"level"が2のものを3、3のものを6にする
json
1[ 2 { 3 "sample_id": "A", 4 "test_id": "test#1", 5 "created_by": "テスト太郎", 6 "patterns": [ 7 { 8 "pattern_id": "1000", 9 "plans": [ 10 { 11 "name": "ドラえもん", 12 "color": 1, → 削除 13 "level": 2 → 3に変更 14 }, 15 { 16 "name": "ドラえもんver2", 17 "color": 5, → 削除 18 "level": 5 → 変更なし 19 } 20 ] 21 } 22 ], 23 "title": "ドラえもんは猫型ロボットである" 24 }, 25 { 26 "sample_id": "B", 27 "test_id": "test2", 28 "created_by": "テスト太郎", 29 "patterns": [ 30 { 31 "pattern_id": "1000", 32 "plans": [ 33 { 34 "name": "ドラミちゃん", 35 "color": 1, → 削除 36 "level": 3 → 6に変更 37 }, 38 { 39 "name": "ドラミちゃんver2", 40 "color": 3, → 削除 41 "level": 3 → 6に変更 42 } 43 ] 44 } 45 ], 46 "title": "ドラミちゃんも猫型ロボットである" 47 },
試したこと
まずpatternsを取得してみました。
js
1const jsonData = JSON.parse(json); 2if (Array.isArray(jsonData)) { 3 jsonData.forEach(d => { 4 var target = d.patterns; 5 console.log(target);
取得結果
[ { pattern_id: 'A', plans: [Object],] [ { pattern_id: 'B', plans: [Object],]
ここから、plansの中のcolorとlevelを変更する方法が分かりませんでした。
var target = d.patterns.plans とするとundefinedとなりますし、どのようにすれば操作できるようになるでしょうか。
ご教授お願い致します。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/04/16 06:40