Javascript Typescript和google maps API数据返回

Javascript Typescript和google maps API数据返回,javascript,Javascript,我有一个从googlemaps API返回一些数据的函数,我很难只获取其中的一个特定部分 这是谷歌返回的数据: {"address_components":[{"long_name":"200","short_name":"200","types":["street_number"]},{"long_name":"Carrer de Mallorca","short_name":"Carrer de Mallorca","types":["route"]},{"long_name":"Barce

我有一个从googlemaps API返回一些数据的函数,我很难只获取其中的一个特定部分

这是谷歌返回的数据:

{"address_components":[{"long_name":"200","short_name":"200","types":["street_number"]},{"long_name":"Carrer de Mallorca","short_name":"Carrer de Mallorca","types":["route"]},{"long_name":"Barcelona","short_name":"Barcelona","types":["locality","political"]},{"long_name":"Barcelona","short_name":"Barcelona","types":["administrative_area_level_2","political"]},{"long_name":"Catalunya","short_name":"CT","types":["administrative_area_level_1","political"]},{"long_name":"Spain","short_name":"ES","types":["country","political"]},{"long_name":"08026","short_name":"08026","types":["postal_code"]}],"adr_address":"<span class=\"street-address\">Carrer de Mallorca, 200</span>, <span class=\"postal-code\">08026</span> <span class=\"locality\">Barcelona</span>, <span class=\"country-name\">Spain</span>","formatted_address":"Carrer de Mallorca, 200, 08026 Barcelona, Spain","geometry":{"location":{"lat":41.39021249999999,"lng":2.158042900000055},"viewport":{"south":41.3889164697085,"west":2.156613219708561,"north":41.3916144302915,"east":2.1593111802915246}},"icon":"https://maps.gstatic.com/mapfiles/place_api/icons/geocode-71.png","id":"ed44ea26f2c7aea2a9c892b4f987060373e82716","name":"Carrer de Mallorca, 200","place_id":"ChIJDZPgZSijpBIR4hLq7CXRSmE","reference":"CmRbAAAAE_RAIKFUm8Zg8rBvjoyfINpZRYf_Q_uWVFSdwKHGwIb5Bys3XFVkCX3HvTgm6L8TtC0ZsByQRqv9AcMCbEcULLys9EGcIvu6PGeqo0vQRWyy7qJqIMnuuH6dlVzidZzkEhDSiJEdUg7rIuC1aFdpUmzpGhRto1xkIFhLGky-b2vTRrCXa0jP8Q","scope":"GOOGLE","types":["street_address"],"url":"https://maps.google.com/?q=Carrer+de+Mallorca,+200,+08026+Barcelona,+Spain&ftid=0x12a4a32865e0930d:0x614ad125ecea12e2","utc_offset":60,"vicinity":"Barcelona","html_attributions":[],"description":"Carrer de Mallorca, 200, 08026 Barcelona, Spain","active":false}
{“地址组件”:[{“长名称”:“200”,“短名称”:“200”,“类型”:[“街道编号”]},{“长名称”:“马洛卡卡雷尔”,“短名称”:“马洛卡卡雷尔”,“类型”:[“路线”]},{“长名称”:“巴塞罗那”,“短名称”:“巴塞罗那”,“类型”:[“地点”,“政治”]},{“长名称”:“巴塞罗那”,“短名称”:“巴塞罗那”,“类型”:[“行政区二级”、“政治性”],{“长名”:“加泰罗尼亚”、“短名”:“CT”、“类型”:[“行政区一级”、“政治性”],{“长名”:“西班牙”、“短名”:“ES”、“类型”:[“国家”、“政治性”],{“长名”:“08026”、“短名”:“08026”、“类型”:[“邮政编码”],“adr地址”:“西班牙巴塞罗那200、08026巴塞罗那卡雷尔·德·马洛卡”格式化地址:““西班牙巴塞罗那卡雷尔·德·马洛卡,20008026”,“几何”:{“位置”:{“纬度”:41.3902124999999,“液化天然气”:2.15804900000055},“视口”:{“南”:41.3889164697085,“西”:2.1566113219708561,“北”:41.3916144302915,“东”:2.159311180915246},“图标”:”https://maps.gstatic.com/mapfiles/place_api/icons/geocode-71.png,“id”:ed44ea26f2c7aea2a9c892b4f987060373e82716,“名称”:“Carrer de Mallorca,200”,“地点id”:“ChIJDZPgZSijpBIR4hLq7CXRSmE”,“参考”:“Cmrbaaae_RAIKFUm8Zg8rBvjoyfINpZRYf”uu UwFvkx3xHvxHvTgTvTg6Tc0Tc0TzByqV9Cc9EgCqIvy7QjqivUuH6DvzKy7KjjjjjjjjKjKvKjKv7FvKdKf8KvKvKdKdKdKdKdKdKdKdKdKdKdKdKdKdKdKdKdKdKdKdKdKdKdKvK街道地址“],“url”:https://maps.google.com/?q=Carrer+de+Mallorca,+200,+08026+Barcelona,+Spain&ftid=0x12a4a32865e0930d:0x614ad125ecea12e2,“utc_偏移量”:60,“邻近地区”:“巴塞罗那”,“html_属性”:[],“描述”:“Carrer de Mallorca,200,08026西班牙巴塞罗那”,“活动”:false}
我已经“清理”了一点,因此更容易理解:

console.log(23);
{
"address_components":
[
{"long_name":"656","short_name":"656","types":["street_number"]},
{"long_name":"Carrer de Mallorca","short_name":"Carrer de Mallorca","types":["route"]},
{"long_name":"Barcelona","short_name":"Barcelona","types":["locality","political"]},
{"long_name":"Barcelona","short_name":"Barcelona","types":["administrative_area_level_2","political"]},
{"long_name":"Catalunya","short_name":"CT","types":["administrative_area_level_1","political"]},
{"long_name":"Spain","short_name":"ES","types":["country","political"]},
{"long_name":"08027","short_name":"08027","types":["postal_code"]}
],
"adr_address":"<span class=\"street-address\">Carrer de Mallorca, 656</span>, <span class=\"postal-code\">08027</span> <span class=\"locality\">Barcelona</span>, <span class=\"country-name\">Spain</span>",

 "formatted_address": "Carrer de Mallorca, 656, 08027 Barcelona, Spain",
 "geometry":{"location":{"lat":41.4138822,"lng":2.189461700000038},
 "viewport":{"south":41.4125332197085,"west":2.1881127197084425,"north":41.41523118029149,"east":2.19081068029152}},
 "icon":"https://maps.gstatic.com/mapfiles/place_api/icons/geocode-71.png",
 "id":"5fdc4f7153361cad7ec5a8a5c8de0005e7ab52fe",
 "name":"Carrer de Mallorca, 656",
 "place_id":"ChIJ9fsizS6jpBIR5TaqNaBTNf8",
 "reference":"CmRbAAAAWPvkLVHOqbDxjuKDGj6juRTKYZUd2hx6RIAzGrvPLRpJo8Nw4t04fvrUpwLIW2oNJgVAIyPheMHncgHIes5WTjB9gYIZbW2MVPf7HGsTY3XYxVsLOy_Io3CEb0h379oKEhC_w0-aX--Btb8lUMUGfHLgGhQ6NaYtk3W5TOiwIXBRUzoNxsJqJQ",
 "scope":"GOOGLE",
 "types":["street_address"],
 "url":"https://maps.google.com/?q=Carrer+de+Mallorca,+656,+08027+Barcelona,+Spain&ftid=0x12a4a32ecd22fbf5:0xff3553a035aa36e5",
 "utc_offset":60,
 "vicinity":"Barcelona",
 "html_attributions":[],
 "description":"Carrer de Mallorca, 656, 08027 Barcelona, Spain",
 "active":false

 }
console.log(23);
{
“地址组件”:
[
{“long_name”:“656”,“short_name”:“656”,“types”:[“street_number”]},
{“long_name”:“Carrer de Mallorca”,“short_name”:“Carrer de Mallorca”,“types”:[“route”]},
{“long_name”:“Barcelona”,“short_name”:“Barcelona”,“types”:[“locality”,“political”]},
{“long_name”:“Barcelona”,“short_name”:“Barcelona”,“types”:[“administrative_area_level_2”,“political”],
{“long_name”:“catalonya”,“short_name”:“CT”,“types”:[“administration_-area_-level_-1”,“political”],
{“long_name”:“西班牙”,“short_name”:“ES”,“types”:[“国家”,“政治”]},
{“长名称”:“08027”,“短名称”:“08027”,“类型”:[“邮政编码”]}
],
“adr_地址”:“卡雷尔·德·马洛卡,656,08027,西班牙巴塞罗那”,
“格式化地址”:“卡雷尔·德·马洛卡,656,08027,西班牙巴塞罗那”,
“几何学”:{“位置”:{“纬度”:41.4138822,“液化天然气”:2.189461700000038},
“视口”:{“南”:41.412533219785,“西”:2.1881127197084425,“北”:41.41523118029149,“东”:2.19081068029152},
“图标”:”https://maps.gstatic.com/mapfiles/place_api/icons/geocode-71.png",
“id”:“5fdc4f7153361cad7ec5a8a5c8de0005e7ab52fe”,
“姓名”:“Carrer de Mallorca,656”,
“地点id”:“ChIJ9fsizS6jpBIR5TaqNaBTNf8”,
“参考文件”:“CMRBAAAWPVKLVHOQBDXJUKDGJ6JURTKYZUD2HX6RIAZGRVPPLRPJO8NW4T04FVRUPWLI2NJGVAIYPHEMHNCGHIES5WTJB9GYZBW2MVPF7HgstyxyxVsloy\u Io3CEb0h379oKEhC_w0-aX——BTB8LUMUGFHLGGGHQ6NAYTK3W5W5TOWIXBRUZONXSJQ”,
“范围”:“谷歌”,
“类型”:[“街道地址”],
“url”:”https://maps.google.com/?q=Carrer+德+马洛卡,+656,+08027+巴塞罗那,+西班牙和ftid=0x12a4a32ecd22fbf5:0xFF3553A5AA36E5“,
“utc_偏移量”:60,
“邻近地区”:“巴塞罗那”,
“html_属性”:[],
“描述”:“Carrer de Mallorca,656,08027,西班牙巴塞罗那”,
“活动”:错误
}
如何访问“url”和“描述”


提前感谢

访问ulr和描述,尝试以下操作:

const description = 23.description;
const url = 23.url;

console.log('The description is :' + description);
console.log('The url is: ' + url);

希望能有帮助。

好的,我知道了。返回的数据是JSON,因此与添加示例一样简单


data.url

Cool,您也可以使用括号表示法访问对象属性。上面的示例是
const url=23['description']
如果对象键中有空格会破坏点表示法,则可以使用此选项。例如
const someValue=23['Some-weird-formatted key']
const someValue=23[useVariableValue]