基本上,我有一份经纬度国家列表,想要计算两个国家之间的距离。 所以我将这些信息放在JSON文件中,看起来像这样
[
{
"country":"China",
"latitude":35.0,
"longitude":105.0,
"continent":"Asia"
},
{
"country":"India",
"latitude":20.0,
"longitude":77.0,
"continent":"Asia"
},
...
]
然后我在jQuery中加载这个文件:$.getJSON( 'countries.json', function(data){ var json = data; });
现在我想获得与json.China.longitude
一样简单的具体信息。
我知道它不会像这样工作,但最简单的方法是什么?
基于GPS坐标计算距离是另一回事,但我已经找到了这个功能。
答案 0 :(得分:2)
最好更新countries.json
以返回以国家/地区为键的对象,因为这样可以节省一些查找时间。否则你必须迭代数组。您可以使用原生filter
var china = json.filter(function (elem) {
return elem.country == "China";
})[0];
或者您可以使用类似Underscore.js
的内容答案 1 :(得分:1)
如果你想这样做,最好将你的JSON更改为更好,如果可能的话。
[
{
"China": {
"latitude": 35,
"longitude": 105,
"continent": "Asia"
},
"India": {
"latitude": 20,
"longitude": 77,
"continent": "Asia"
}
}