jQuery循环遍历JSON对象

我想循环遍历这个JSON文件(下面的结构),并获得所有国家都是奥地利的酒店。 使用getJson()所以我也无法更改JSON文件中的任何内容。

任何帮助将不胜感激。

 [ { "Site ID": 19955, "Hotels": "Ramada Salzburg City Centre", "Stadt": "Salzburg", "Country": "Austria", "Region": "Central & Eastern Europe", "Link DE": "", "Link EN": "", "Link TR": "", "Lat": 47.8137521, "Long": 13.044259, "Image": "/Salzburg.jpg" }, { "Site ID": 1211, "Hotels": "test", "Stadt": "Salzburg", "Country": "NZ", "Region": "Central & Eastern Europe", "Link DE": "", "Link EN": "", "Link TR": "", "Lat": 47.8137521, "Long": 13.044259, "Image": "/Salzburg.jpg" } ] 

我不知道你究竟想做什么,但这是一个循环json并检查酒店是否在奥地利并将名称和城市记录到控制台的工作示例:

 var json = [{ "Site ID": 19955, "Hotels": "Ramada Salzburg City Centre", "Stadt": "Salzburg", "Country": "Austria", "Region": "Central & Eastern Europe", "Link DE": "", "Link EN": "", "Link TR": "", "Lat": 47.8137521, "Long": 13.044259, "Image": "/Salzburg.jpg" }, { "Site ID": 1211, "Hotels": "test", "Stadt": "Salzburg", "Country": "NZ", "Region": "Central & Eastern Europe", "Link DE": "", "Link EN": "", "Link TR": "", "Lat": 47.8137521, "Long": 13.044259, "Image": "/Salzburg.jpg" }]; $(json).each(function () { if (this.Country === "Austria") { console.log("Found hotel " + this.Hotels + " in " + this.Stadt); } }); 

尝试使用Array map()和filter()方法:

 var json = [{ "Site ID": 19955, "Hotels": "Ramada Salzburg City Centre", "Stadt": "Salzburg", "Country": "Austria", "Region": "Central & Eastern Europe", "Link DE": "", "Link EN": "", "Link TR": "", "Lat": 47.8137521, "Long": 13.044259, "Image": "/Salzburg.jpg" }, { "Site ID": 1211, "Hotels": "test", "Stadt": "Salzburg", "Country": "NZ", "Region": "Central & Eastern Europe", "Link DE": "", "Link EN": "", "Link TR": "", "Lat": 47.8137521, "Long": 13.044259, "Image": "/Salzburg.jpg" }]; var austriaHotels = json.filter(function(item) { return item.Country == 'Austria'; }); var hotelsName = austriaHotels.map(function(item) { return item.Hotels; }); console.log(hotelsName); 

您需要存储您的位置,循环它们并将匹配的位置组合成一个新arrays。

 var locations = [{ "Site ID": 19955, "Hotels": "Ramada Salzburg City Centre", "Stadt": "Salzburg", "Country": "Austria", "Region": "Central & Eastern Europe", "Link DE": "", "Link EN": "", "Link TR": "", "Lat": 47.8137521, "Long": 13.044259, "Image": "/Salzburg.jpg" }, { "Site ID": 1211, "Hotels": "test", "Stadt": "Salzburg", "Country": "NZ", "Region": "Central & Eastern Europe", "Link DE": "", "Link EN": "", "Link TR": "", "Lat": 47.8137521, "Long": 13.044259, "Image": "/Salzburg.jpg" }]; // Store the matched hotels here var matches = []; // Loop over hotels for( i=0; i