実現したいこと
取得したJSONデータの"01"を「りんご」、"02"を「ゴリラ」、"03"を「ラッパ」のように、JavaScriptもしくはjQueryを使い任意の文字列に変換した上で、HTML上に書き出しをしたいです。
前提としてJSONデータは編集できません。
発生している問題・分からないこと
JSONデータから値を取得して、HTML上に書き出すところまでは実装できています。
しかし、JSONデータを変換するところで行き詰まっています。
該当のソースコード
test.json
1{ 2 "Test": [ 3 "01", 4 "02", 5 "03" 6 ] 7}
sample.js
1let testJSON = 'test.json'; 2jQuery.getJSON(testJSON, function(data){ 3 var testData = data.Test; 4 let sampleHTML = '<p>' + testData + '</p>'; 5 document.querySelector('body div').insertAdjacentHTML('beforeend', sampleHTML); 6});
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
https://teratail.com/questions/180402
上記の質問を参考に下記のように実装してみましたが、うまくいきませんでした。
sample2.js
1let testJSON = 'test.json'; 2jQuery.getJSON(testJSON, function(data){ 3 var dict = { 4 "01": "りんご", 5 "02": "ゴリラ", 6 "03": "ラッパ", 7 }; 8 var testData = data.Test; 9 var newData = []; 10 for (i=0;i<testData.length;i++) { 11 var elem = testData[i]; 12 var newElem = Object.assign( 13 {}, 14 elem, 15 { name: dict[elem] } 16 ); 17 newData.push(newElem); 18 } 19 20 let sampleHTML = '<p>' + newData + '</p>'; 21 document.querySelector('body div').insertAdjacentHTML('beforeend', sampleHTML); 22});
回答3件
あなたの回答
tips
プレビュー