Javascript 如何查询具有特定id的json文件并获得结果数组?

Javascript 如何查询具有特定id的json文件并获得结果数组?,javascript,jquery,arrays,json,Javascript,Jquery,Arrays,Json,我正在努力研究如何根据循环中的当前id获取temp.json的值。请参阅下面的代码。我希望能够根据temp.json中匹配的传递id(deliveryid和temp_deliveryid)检索数组。然后将它们打印到表中。temp.json的内容将不断变化 deliveries.json { "all_info":[ { "deliveryid":"1", "deldescription":"Food Delivery3432",

我正在努力研究如何根据循环中的当前id获取temp.json的值。请参阅下面的代码。我希望能够根据temp.json中匹配的传递id(deliveryid和temp_deliveryid)检索数组。然后将它们打印到表中。temp.json的内容将不断变化

deliveries.json

{
   "all_info":[
      {
         "deliveryid":"1",
         "deldescription":"Food Delivery3432",
         "delivery_create_time":"2013-09-26 01:19:03",
         "routeid":"1",
         "startloc":"Newcastle",
         "endloc":"Paris",
         "distance":"500",
         "stockid":"2",
         "stockname":"Chicken",
         "stockshelf":"20",
         "stockdesc":"Newcastle Chickens",
         "supplierid":"1",
         "supname":"Benny's Fresh Food",
         "supaddress":"1 Osborne Road",
         "supcity":"Manchester",
         "suppostcode":"MA11KL7",
         "vehicleid":"1",
         "vehiclereg":"TRE12XYZ"
      },
      {
         "deliveryid":"2",
         "deldescription":"Fresh Beef",
         "delivery_create_time":"2013-09-26 01:19:03",
         "routeid":"3",
         "startloc":"London",
         "endloc":"Niece",
         "distance":"800",
         "stockid":"1",
         "stockname":"Beef",
         "stockshelf":"20",
         "stockdesc":"Beef from Madrid Farm",
         "supplierid":"2",
         "supname":"Denone Ltd",
         "supaddress":"231 Morje Road",
         "supcity":"Barcelona",
         "suppostcode":"MR3K12",
         "vehicleid":"2",
         "vehiclereg":"RFGXMN4"
      },
      {
         "deliveryid":"3",
         "deldescription":"Meat Delivery",
         "delivery_create_time":"2013-10-14 01:48:59",
         "routeid":"3",
         "startloc":"London",
         "endloc":"Niece",
         "distance":"800",
         "stockid":"4",
         "stockname":"Trout and Salmon",
         "stockshelf":"11",
         "stockdesc":"FIshers Best Catch",
         "supplierid":"4",
         "supname":"Youngs Ltd",
         "supaddress":"4 Tressle Road",
         "supcity":"Telford",
         "suppostcode":"TE62GF5",
         "vehicleid":"1",
         "vehiclereg":"TRE12XYZ"
      },
      {
         "deliveryid":"6",
         "deldescription":"Travel Chicken",
         "delivery_create_time":"2013-10-16 02:27:26",
         "routeid":"4",
         "startloc":"Edingburgh",
         "endloc":"Malaga",
         "distance":"2000",
         "stockid":"3",
         "stockname":"Rare Meats",
         "stockshelf":"45",
         "stockdesc":"Expensive Food",
         "supplierid":"3",
         "supname":"Posh Food Ltd",
         "supaddress":"3 Fawn Street",
         "supcity":"Warick",
         "suppostcode":"WR32B54",
         "vehicleid":"1",
         "vehiclereg":"TRE12XYZ"
      }
   ]
}
{
   "temp_info":[
      {
         "temperatureid":"1",
         "recorded_temp":"24",
         "weather":"Sunny",
         "temp_recorded_time":"2013-09-27 20:54:11",
         "temp_deliveryid":"1"
      },
      {
         "temperatureid":"2",
         "recorded_temp":"14",
         "weather":"Cloudy",
         "temp_recorded_time":"2013-09-27 20:54:11",
         "temp_deliveryid":"3"
      },
      {
         "temperatureid":"3",
         "recorded_temp":"17",
         "weather":"Rain",
         "temp_recorded_time":"2013-09-27 20:54:51",
         "temp_deliveryid":"2"
      },
      {
         "temperatureid":"4",
         "recorded_temp":"32",
         "weather":"Hot",
         "temp_recorded_time":"2013-09-27 20:54:51",
         "temp_deliveryid":"1"
      }
   ]
}
临时json

{
   "all_info":[
      {
         "deliveryid":"1",
         "deldescription":"Food Delivery3432",
         "delivery_create_time":"2013-09-26 01:19:03",
         "routeid":"1",
         "startloc":"Newcastle",
         "endloc":"Paris",
         "distance":"500",
         "stockid":"2",
         "stockname":"Chicken",
         "stockshelf":"20",
         "stockdesc":"Newcastle Chickens",
         "supplierid":"1",
         "supname":"Benny's Fresh Food",
         "supaddress":"1 Osborne Road",
         "supcity":"Manchester",
         "suppostcode":"MA11KL7",
         "vehicleid":"1",
         "vehiclereg":"TRE12XYZ"
      },
      {
         "deliveryid":"2",
         "deldescription":"Fresh Beef",
         "delivery_create_time":"2013-09-26 01:19:03",
         "routeid":"3",
         "startloc":"London",
         "endloc":"Niece",
         "distance":"800",
         "stockid":"1",
         "stockname":"Beef",
         "stockshelf":"20",
         "stockdesc":"Beef from Madrid Farm",
         "supplierid":"2",
         "supname":"Denone Ltd",
         "supaddress":"231 Morje Road",
         "supcity":"Barcelona",
         "suppostcode":"MR3K12",
         "vehicleid":"2",
         "vehiclereg":"RFGXMN4"
      },
      {
         "deliveryid":"3",
         "deldescription":"Meat Delivery",
         "delivery_create_time":"2013-10-14 01:48:59",
         "routeid":"3",
         "startloc":"London",
         "endloc":"Niece",
         "distance":"800",
         "stockid":"4",
         "stockname":"Trout and Salmon",
         "stockshelf":"11",
         "stockdesc":"FIshers Best Catch",
         "supplierid":"4",
         "supname":"Youngs Ltd",
         "supaddress":"4 Tressle Road",
         "supcity":"Telford",
         "suppostcode":"TE62GF5",
         "vehicleid":"1",
         "vehiclereg":"TRE12XYZ"
      },
      {
         "deliveryid":"6",
         "deldescription":"Travel Chicken",
         "delivery_create_time":"2013-10-16 02:27:26",
         "routeid":"4",
         "startloc":"Edingburgh",
         "endloc":"Malaga",
         "distance":"2000",
         "stockid":"3",
         "stockname":"Rare Meats",
         "stockshelf":"45",
         "stockdesc":"Expensive Food",
         "supplierid":"3",
         "supname":"Posh Food Ltd",
         "supaddress":"3 Fawn Street",
         "supcity":"Warick",
         "suppostcode":"WR32B54",
         "vehicleid":"1",
         "vehiclereg":"TRE12XYZ"
      }
   ]
}
{
   "temp_info":[
      {
         "temperatureid":"1",
         "recorded_temp":"24",
         "weather":"Sunny",
         "temp_recorded_time":"2013-09-27 20:54:11",
         "temp_deliveryid":"1"
      },
      {
         "temperatureid":"2",
         "recorded_temp":"14",
         "weather":"Cloudy",
         "temp_recorded_time":"2013-09-27 20:54:11",
         "temp_deliveryid":"3"
      },
      {
         "temperatureid":"3",
         "recorded_temp":"17",
         "weather":"Rain",
         "temp_recorded_time":"2013-09-27 20:54:51",
         "temp_deliveryid":"2"
      },
      {
         "temperatureid":"4",
         "recorded_temp":"32",
         "weather":"Hot",
         "temp_recorded_time":"2013-09-27 20:54:51",
         "temp_deliveryid":"1"
      }
   ]
}
网站代码示例

$.getJSON("jsonfiles/deliveries.json", function(delivery) {
    for(var i = 0; i < delivery.all_info.length; i++) {  
       var deliv = delivery.all_info[i];
           x = '<div id="' + deliv.deliveryid + '">' + deliv.deldescription + '</div>
           document.getElementById("sortable1").innerHTML += x;
                $.getJSON("jsonfiles/temp.json", function(temp) {
                    deliv.forEach(function(entry) {
                       var tempi = tempe.temp_info[i];
                         if (tempi.temp_deliveryid == entry.deliveryid){
var y = '<tr><td>[' + temp.temp_recorded_time + '] '+ temp.temperature_id + ' - Temperature: ' + temp.recorded_temp +'&#x2103; - Weather (' + temp.weather + ')!</td></tr>';    
document.getElementById("temptbody").innerHTML += y;    
     });
    }
  });
}); 
$.getJSON(“jsonfiles/deliveries.json”),函数(delivery){
对于(var i=0;i
如我在评论中所述,如果deliveries.json没有temp.json那么频繁地更改,我会这样做

$.getJSON("jsonfiles/deliveries.json", function(delivery) { var x =''; for(var i = 0; i < delivery.all_info.length; i++) { var deliv = delivery.all_info[i]; x += '<div id="' + deliv.deliveryid + '">' + deliv.deldescription + '</div>'; } $("#sortable").html(x); }); $.getJSON(“jsonfiles/deliveries.json”),函数(delivery){ var x=“”; 对于(var i=0;i 然后获取你的temp.json

$.getJSON("jsonfiles/temp.json", function(temp) { var temps = {}; var y=''; for(var i = 0; i < temp.temp_info.length; i++) { var tempi = tempe.temp_info[i]; y += '<tr><td>[' + temp.temp_recorded_time + '] '+ temp.temperature_id + ' - Temperature: ' + temp.recorded_temp +'℃ - Weather (' + temp.weather + ')!</td></tr>'; } $("#temptbody").html(y); }); $.getJSON(“jsonfiles/temp.json”,函数(temp){ var temps={}; 变量y=“”; 对于(var i=0;i#sortable
#testbody
之间的关系。
如果存在这种关系,另一种选择可能是将deliveries.json保存为变量,然后在检索temp.json时,将适当的temp详细信息直接附加到deliveries.json。json

如果temp.json的内容不断变化,deliveries.json的内容是否不定期变化?如果是,为什么nest temp的getJson insine deliveries?看看这个问题,希望这能告诉你怎么做,谢谢你的回答,但这仍然没有解释如何比较每个交付的temp.temp_deliveryid和deliver.deliveryid。