[英]How can I fix variables of an array of objects being undefined when being imported from a json file?
I am creating a website to practice my coding on and I came across a problem while doing so. 我正在创建一个网站来练习我的编码,但这样做时遇到了一个问题。 I am trying to import data from a json file with a forloop and the variables came back as undefined. 我正在尝试使用forloop从json文件导入数据,并且变量返回为未定义。 I think it has to do with the i variable in the foreach, but I could be wrong. 我认为这与foreach中的i变量有关,但我可能是错的。 Any help is much appreciated. 任何帮助深表感谢。 Thanks! 谢谢!
<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>
And here is a copy of the json file 这是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
}
}
if data
is an array, i
will be an Integer-value string of the index . 如果data
是一个数组,则i
将是index的Integer值字符串。
You'll want data[i].username
, data[i].value
, data[i].tokens
instead 您需要使用data[i].username
, data[i].value
, data[i].tokens
if data
is an object, you don't need to iterate through it 如果data
是对象,则无需遍历数据
You'll want data.username
, data.value
, data.tokens
instead 您将需要data.username
, data.value
, data.tokens
代替
if the data from json is array of object use it; 如果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>
else use it 否则用它
<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.