我需要你关于 json 结构的帮助!! (我知道这很简单,但我不知道错误是什么)。
在此代码中,我有一个 json 文件,其中包含项目列表(例如餐馆)以及每个分支机构的一些详细信息,例如地址。在我的 js 文件中,我尝试打印与特定项目 ID 匹配的所有地址。
我将发布 json 文件的示例以及访问它的 js 代码。
这是 json 文件:
{
"items" :
[
{
"item_id" :"204","details" :[{"country":"usa","city":"NY", "address":"bla bla bla"},{"country":"usa","city":"NY", "address":"another bla bla bla for the same id"}]
},
{
"item_id" :"234","details" :[{"country":"usa","city":"NY", "address":"another bla bla bla"}]
}
]
}
这是访问该文件的 js 代码:
.....
success:function(data){
$.each(data.items, function(i,item){
if (item.item_id == 204 ) {
$("#results").append("<hr/>");
$("#results").append("<span class='result' >" + item.details.address + "</span><br/>");
}
});
}, ....
但它不打印任何东西。
你觉得怎么样?
最佳答案
在这种情况下,您实际上不需要使用 $.each,因为您有一个对象数组,即 [{}, {}, {}]
是一个对象数组,甚至尽管你实际上有一个对象数组的对象:p。每个对象都有一个指定的索引,即“item”,而每个对象数组都有一个默认索引 0、1、2 等。
也是的,因为您有一个地址对象详细信息数组,所以您需要通过 details[0]
或 details[1]
访问它们
for(var i =0;i<data.items.length;i++) {
if (data.items[i].item_id == "204" ) {
$("#results").append("<hr/>");
$("#results").append("<span class='result' >" + data.items[i].details[0].address + "</span><br/>");
}
}
关于javascript - 帮助在 javascript 中访问 json 文件中的节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6967170/