想請問各位javascript高手有關json資料存取如何處理?
例如已經透過 ajax 收到一個 json 字串 jsdata 如下:
jsdata = {"Tom":"29", "John":"18", "Wang":"25"};
問題: 如何透過迴圈將上述jsdata 找到對應的 html label 的 id 是 "Tom", "John", "Wang",然後更新年齡資料
請問下面的程式(示意)該如何修改?
for(var jsobj in jsdata){
obj = document.getElementbyId(jsobj.name);
obj.value = jsobj.age;
}
jsdata["Tom"] = 99;
//改完收工
//如果要迴圈,可以用Jquery
$.each(jsdata,function (name, age) {
console.log(name);
console.log(age);
});
//上述可以直接顯示
Tom:29
John:18
Wang:25
//要在迴圈裡判斷修改,則如下
$.each(jsdata,function (name, age) {
if (name == "Tom")
jsdata[name] = 99;
});
剩下要怎麼運用看你
補充:
不知道是不是誤會你的意思
你是說你有html labal會有這些ID?
如果是的話下次詢問可以把html也列出
然後可以用上方新增程式碼功能框起來 會比較清楚
//Html
<label id="Tom" ></label>
<label id="John"></label>
<label id="Wang"></label>
//Javascript
var jsdata = {"Tom":"29", "John":"18", "Wang":"25"};
Object.entries(jsdata).forEach(function ([name, age]) {
document.getElementById(name).textContent = age;
});
//Jquery
$.each(jsdata, function (name, age) {
$('#' + name).text(age);
});