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