如何使用javascript并基于提供的输入获取JSON数据?
如何使用javascript并基于提供的输入获取JSON数据 我的JSON文件如下所示如何使用javascript并基于提供的输入获取JSON数据?,javascript,Javascript,如何使用javascript并基于提供的输入获取JSON数据 我的JSON文件如下所示 { "Name1": { "id": "32313", "latitude": "57.1", "longitude": "9.85", "timezone": "2", "city": "Aalborg", "country": "Denmark", "country_code": "DK
{
"Name1": {
"id": "32313",
"latitude": "57.1",
"longitude": "9.85",
"timezone": "2",
"city": "Aalborg",
"country": "Denmark",
"country_code": "DK"
},
"Name2": {
"id": "32314",
"latitude": "56.15",
"longitude": "10.2167",
"timezone": "2",
"city": "Aarhus",
"country": "Denmark",
"country_code": "DK"
},
"Name3": {
"id": "122109",
"airport_name": "Aasiaat",
"latitude": "68.7",
"longitude": "-52.75",
"timezone": "-3",
"city": "Aasiaat",
"country": "Greenland",
"country_code": "GL"
},
"Name4": {
"id": "116713",
"latitude": "30.371111",
"longitude": "48.228333",
"timezone": "4",
"city": "Abadan",
"country": "Iran",
"country_code": "IR"
},
"Name5": {
"id": "116711",
"latitude": "53.74",
"longitude": "91.385",
"timezone": "7",
"city": "Abakan",
"country": "Russia",
"country_code": "RU"
},
"Name6": {
"id": "120587",
"latitude": "49.05",
"longitude": "-122.2833",
"timezone": "-7",
"city": "Abbotsford",
"country": "Canada",
"country_code": "CA"
},
"Name7": {
"id": "116759",
"latitude": "13.847",
"longitude": "20.844333",
"timezone": "1",
"city": "Abeche",
"country": "Chad",
"country_code": "TD"
},
"Name8": {
"id": "32325",
"latitude": "57.2",
"longitude": "-2.2",
"timezone": "1",
"city": "Aberdeen",
"country": "United Kingdom",
"country_code": "GB"
}
}
从上面的JSON文件。。。我需要得到以下信息:
function getCityData(country) {
return _(data)
.filter(function(el) {
return el.country === country;
});
}
function getCountries() {
return _(data).chain().pluck("country").uniq().value();
}
如何根据国家或城市名称获取关键名称。。。例如:getKeyName(Country)应该像那样返回“Name1/Name2/”。您不需要使用国家代码作为键,除非您愿意,否则您可以将城市[国家代码]替换为城市[国家]。如果您确实想使用country_代码作为键,只需添加另一个名为var country_code=[]的全局变量,然后添加country_code.push(country_code);你好我想我的问题提得不好。。。当我提供的相应国家/地区代码。。。如果我说Country_Code=“GB”,那么我的返回值=“Name8”…啊,对不起,我误解了,我用一个keyNames对象更新了我的代码嘿@YugandharKumar刚刚跟进,keyNames对象对你有用吗?
var countries = [];
// Vanilla Javascript
// Get Array of countries
for( var name in json ){
countries.push(json[name]["country"]);
}
// Get city name based on country name
var getCities = function(country){
var cities = [];
for( var name in json ){
if (country === json[name]["country"]){
cities.push(name);
}
}
return cities;
}
// Usage
var cities = getCities("Denmark"); //
function getCityData(country) {
return _(data)
.filter(function(el) {
return el.country === country;
});
}
function getCountries() {
return _(data).chain().pluck("country").uniq().value();
}