是否可以在JSON中的密钥中使用密钥(如果是这样)如何在jQuery中访问它? 这是我的代码:
{
"product": [{
"category": "Clothing",
"items": [{
"name": "Shirt",
"price": "$4.99"
}]
}, {
"category": "Food",
"items": []
}, {
"category": "Electronics",
"items": []
}]
}
这是我用来访问键值的jQuery:
$.getJSON('../JSON/cwdata.json', function (cwData) {
$newData = cwData;
$.each($newData, function (key, value) {
if (key === 'product[0].items[0]') {
$('#product').append('<li>'+ value +'</li>')
});
});
“#product”是无序列表。
注意:我将我的JSON代码更改为Salman A正确回答的代码。
答案 0 :(得分:1)
是的,这是可能的。它应该是这样的。
"availability": ["six", "five"],
"connectivity": { "infrared": true,
"gps" : true
}
答案 1 :(得分:0)
您的JSON无效;数组不能将字符串作为键。它需要看起来像:
{
"product": {
"Clothing": {
"Shirt": "$4.99"
},
"Food": {},
"Electronics": {}
}
}
或者可能是这样的:
{
"product": [
{
"category": "Clothing",
"items": [{
"name": "Shirt",
"price": "$4.99"
}]
}, {
"category": "Food",
"items": []
}, {
"category": "Electronics",
"items": []
}
]
}
要迭代这些数据,请使用$.each
几个级别:
$.each(cwData.product, function (i, product) {
console.log(product.category + " (" + product.items.length + " items)");
$.each(product.items, function (i, item) {
console.log("\t" + item.name + ": " + item.price);
});
});
// output:
//
// Clothing (1 items)
// Shirt: $4.99
// Food (0 items)
// Electronics (0 items)