[英]How can I fix variables of an array of objects being undefined when being imported from a json file?
我正在創建一個網站來練習我的編碼,但這樣做時遇到了一個問題。 我正在嘗試使用forloop從json文件導入數據,並且變量返回為未定義。 我認為這與foreach中的i變量有關,但我可能是錯的。 任何幫助深表感謝。 謝謝!
<script>
$.getJSON('package.json', function(data){
for(var i in data)
{
var username = i.username;
var value = i.value;
var tokens= i.tokens;
$(".list-group").append('<li>' + username + ' has deposited $' + value + ' in ' + tokens + ' tokens</li>');
}
});
</script>
這是json文件的副本
{
"u1":
{
"username": "Username1",
"tokens": 2,
"value": 26
},
"u2":
{
"username": "Username2",
"tokens": 4,
"value": 292
},
"u3":
{
"username": "Username3",
"tokens": 10,
"value": 127
},
"u4":
{
"username": "Username4",
"tokens": 3,
"value": 12
}
}
如果data
是一個數組,則i
將是index的Integer值字符串。
您需要使用data[i].username
, data[i].value
, data[i].tokens
如果data
是對象,則無需遍歷數據
您將需要data.username
, data.value
, data.tokens
代替
如果json中的數據是對象數組,請使用它;
<script>
$.getJSON('package.json', function(data){
for(var i in data)
{
var username = data[i].username;
var value = data[i].value;
var tokens= data[i].tokens;
$(".list-group").append('<li>' + username + ' has deposited $' + value + ' in ' + tokens + ' tokens</li>');
}
});
</script>
否則用它
<script>
$.getJSON('package.json', function(data){
var username = data.username;
var value = data.value;
var tokens= data.tokens;
$(".list-group").append('<li>' + username + ' has deposited $' + value + ' in ' + tokens + ' tokens</li>');
});
</script>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.