使用JS解析JSON文件(URL)
parsing JSON file (URL) with JS
由于我已经尝试了大约10个小时,如果有任何解决方案,我将不胜感激。我需要一个JSON的特定值,但不知道如何选择它。
这是我的JSON
{
"results" : [
{
"address_components" : [
{
"long_name" : "Buchenberg",
"short_name" : "Buchenberg",
"types" : [ "locality", "political" ]
},
{
"long_name" : "Oberallgäu",
"short_name" : "Oberallgäu",
"types" : [ "administrative_area_level_3", "political" ]
},
{
"long_name" : "Swabia",
"short_name" : "Swabia",
"types" : [ "administrative_area_level_2", "political" ]
},
{
"long_name" : "Bavaria",
"short_name" : "BY",
"types" : [ "administrative_area_level_1", "political" ]
},
{
"long_name" : "Germany",
"short_name" : "DE",
"types" : [ "country", "political" ]
}
],
"formatted_address" : "Buchenberg, Germany",
"geometry" : {
"bounds" : {
"northeast" : {
"lat" : 47.7525249,
"lng" : 10.286058
},
"southwest" : {
"lat" : 47.6694625,
"lng" : 10.1128175
}
},
"location" : {
"lat" : 47.6960163,
"lng" : 10.239696
},
"location_type" : "APPROXIMATE",
"viewport" : {
"northeast" : {
"lat" : 47.7525249,
"lng" : 10.286058
},
"southwest" : {
"lat" : 47.6694625,
"lng" : 10.1128175
}
}
},
"place_id" : "ChIJA6IwOqmAm0cRxVEUeHkZnrg",
"types" : [ "locality", "political" ]
}
],
"status" : "OK"
}
我需要从格式化地址->几何体->边界->东北获得lat/lng的数据。
我试过这个JS代码
$.getJSON("https://maps.googleapis.com/maps/api/geocode/json?address=buchenberg", function(result){
var geoArray = result;
alert(geoArray['status']);
});
它会返回"OK",就像它应该返回的那样。但是我如何选择lat/lng,因为它涉及到这个数组和所有这些括号:D请帮助我
您的url在索引为0的数组中返回结果,因此您需要首先访问该结果,以访问几何对象的属性
var lat = geoArray.results[0].geometry.bounds.northeast.lat;
var long = geoArray.results[0].geometry.bounds.northeast.lng;
var result = {
"results" : [
{
"address_components" : [
{
"long_name" : "Buchenberg",
"short_name" : "Buchenberg",
"types" : [ "locality", "political" ]
},
{
"long_name" : "Oberallgäu",
"short_name" : "Oberallgäu",
"types" : [ "administrative_area_level_3", "political" ]
},
{
"long_name" : "Swabia",
"short_name" : "Swabia",
"types" : [ "administrative_area_level_2", "political" ]
},
{
"long_name" : "Bavaria",
"short_name" : "BY",
"types" : [ "administrative_area_level_1", "political" ]
},
{
"long_name" : "Germany",
"short_name" : "DE",
"types" : [ "country", "political" ]
}
],
"formatted_address" : "Buchenberg, Germany",
"geometry" : {
"bounds" : {
"northeast" : {
"lat" : 47.7525249,
"lng" : 10.286058
},
"southwest" : {
"lat" : 47.6694625,
"lng" : 10.1128175
}
},
"location" : {
"lat" : 47.6960163,
"lng" : 10.239696
},
"location_type" : "APPROXIMATE",
"viewport" : {
"northeast" : {
"lat" : 47.7525249,
"lng" : 10.286058
},
"southwest" : {
"lat" : 47.6694625,
"lng" : 10.1128175
}
}
},
"place_id" : "ChIJA6IwOqmAm0cRxVEUeHkZnrg",
"types" : [ "locality", "political" ]
}
],
"status" : "OK"
};
var geoArray = result;
var lat = geoArray.results[0].geometry.bounds.northeast.lat;
var long = geoArray.results[0].geometry.bounds.northeast.lng;
console.log(lat);
console.log(long);
输出:
lat 47.7525249
long 10.286058
试试这个就行了:
// Latitude.
var lat = Obj.results[0].geometry.bounds.northeast.lat;
// Longitude.
var lng = Obj.results[0].geometry.bounds.northeast.lng;
在控制台中打印:
console.log(lat);
console.log(lng);
JsFiddle:https://jsfiddle.net/n7voyo6t/
下面的代码将从bound对象内的东北键提取lat/long。
alert(geoArray[0].geometry.bounds.northeast);
另外,你可以这样写:
alert(geoArray[0]['geometry']['bounds']['northeast']);
相关文章:
- 直接下载文件,而不是从window.open(url)
- CKFinder 3为所选文件返回错误的URL
- 将CSV文件从URL导入Node.js
- 如何从“”运行url;.js”;文件
- 如何在不在本地下载的情况下将url中提供的文件(pdf/doc)转换为json/string/base64格式
- 如何使用javascript或jquery mobile从url读取和显示XML文件
- gcloud节点-我如何确保通过签名URL上传到谷歌云存储的文件是公开可读的
- 将任何CDN配置为只传递一个文件,无论请求的url是什么
- jqueryajax调用是复制url,当在模态视图之后在外部js文件中进行调用时
- 生成的excel文件url
- 如何在PHP中使用url保护我的图像和文件夹免受直接访问
- 如何使用phonegap从android中的URL下载文件
- 读取不带fs的txt文件nodejs(来自url)
- 检查蒸汽配置文件url是否有效
- ExtJS:从受保护的url创建JSB3文件
- 将 MVC 3 应用程序部署到 URL 文件夹已损坏 JavaScript 和内容路径
- 如何获取JSON URL文件并使其不断更新
- 获取远程加载图像的url's文件大小
- JS智能感知不工作的外部URL文件在VS2012
- ASP.. NET - windows . open (URL) -文件被缓存,我如何停止它