我目前有一个显示json的实时搜索框。但是我在解决如何显示嵌套JSON方面遇到了问题。
我希望显示图像,然后关闭"天。任何帮助,将不胜感激。我已经包含了我的java脚本和我的json示例。
$('#search').keyup(function() {
var searchTerm = $(this).val();
var myExp = new RegExp(searchTerm, "i");
$.get("shops.php",function(data,status){
var response='';
var json = $.parseJSON(data);
shops = json.shops;
$.each(shops, function(index, item) {
if(item.shop_name.search(myExp) != -1){
response += "<h2>"+item.shop_name+"</h2>";
response += "<h2>"+item.distance_citycentre.driving_miles+"</h2>";
});
}
$("#content").html(response);
});
});
以下是我的JSON示例。
{"shops": [
{ "shop_name":"tesco",
"distance_citycentre": {
"driving_miles":"1.5",
"driving_minutes":"3"
},
"closed": [
"monday",
"wedensday",
"friday"
],
"images" [
{
"description":"lake",
"id":"1"
},
{
"description":"ocean",
"id":"2"
}
]
},
{"shop_name":"asda", etc.......
答案 0 :(得分:0)
如果您正在讨论如何访问数组中数组中的json对象,可以使用array[0].object.array[0].object.array[0].array[0]
在您的示例中,您可以使用以下方式选择关闭日'星期一':
item.shops[0].closed[0];
或周五使用:
item.shops[0].closed[2];
您可以通过[-number从0到无穷大 - ]
确定数组中的位置答案 1 :(得分:0)
这是你的解决方案
$(document).ready(function() {
var data = '{ "shops":[{"closed":["monday","wedensday","friday"],"images" :[{"description":"lake","id":"1"},{"description":"ocean","id":"2"}]}]}';
var response='';
var json = $.parseJSON(data);
shops = json.shops;
alert(shops[0].closed[0] + " - "+shops[0].closed[1] + " - " +shops[0].closed[2]);
alert(shops[0].images[0].description + " - "+shops[0].images[0].id);
});
如果可能的话更改JSON输出,“image”附近有一点错误&lt;&lt; - 它需要冒号“:”你可以在[JSfiddle]上找到相同的工作模型[1]