我有一个函数,将获得一个包含对象的JSON数组。在这个函数中,我将能够循环浏览数组,访问一个属性并使用该属性。像这样。
我将传递给函数的变量将是这样的。
[{"id":28,"Title":"Sweden"}, {"id":56,"Title":"USA"}, {"id":89,"Title":"England"}]
function test(myJSON)
{
// maybe parse my the JSON variable?
// and then I want to loop through it and access my IDs and my titles
}
有什么建议可以让我解决这个问题吗?
这不是一个单一的JSON对象。你有一个JSON对象的数组。你需要先在数组上循环,然后访问每个对象。也许下面这个开球的例子有帮助。
var arrayOfObjects = [{"id":28,"Title":"Sweden"}, {"id":56,"Title":"USA"}, {"id":89,"Title":"England"}];
for (var i = 0; i < arrayOfObjects.length; i++) {
var object = arrayOfObjects[i];
for (var property in object) {
alert('item ' + i + ': ' + property + '=' + object[property]);
}
// If property names are known beforehand, you can also just do e.g.
// alert(object.id + ',' + object.Title);
}
要了解更多关于JSON的信息,请查看这篇文章。
更新:如果JSON对象的数组实际上是作为一个普通的字符串传入的,那么你确实需要eval()
在这里。
var string = '[{"id":28,"Title":"Sweden"}, {"id":56,"Title":"USA"}, {"id":89,"Title":"England"}]';
var arrayOfObjects = eval(string);
// ...