当我console.log
我的数据时,它在Chrome开发工具中看起来像这样:
e.LatLngBounds {_southWest: e.LatLng, _northEast: e.LatLng}
_northEast: e.LatLng
lat: 50.62507306341435
lng: -69.169921875
__proto__: Object
_southWest: e.LatLng
lat: 27.059125784374068
lng: -127.96875
__proto__: Object
__proto__: Object
如果我JSON.stringify
它(如此:var totbounds = JSON.stringify(mybounds);
),我明白了:
{"_southWest":{"lat":27.059125784374068,"lng":-127.96875},"_northEast":{"lat":50.62507306341435,"lng":-69.169921875}}
我尝试解析它以获取_southWest
lat
(例如),但这些都不起作用:
totbounds[_southWest][lat];
totbounds._southWest.lat;
(注意,totbounds
是字符串化对象)
答案 0 :(得分:4)
JSON.stringify
将您的JavaScript对象转换为字符串,因此您无法像尝试那样将其作为对象进行访问。 Stringified JSON不是您可以访问其属性的对象。对象应该保持对象,而不是字符串化。你不需要它(如果我理解你的问题)。
假设:
var mybound = {_southWest: e.LatLng, _northEast: e.LatLng}
_northEast: e.LatLng
lat: 50.62507306341435
lng: -69.169921875
__proto__: Object
_southWest: e.LatLng
lat: 27.059125784374068
lng: -127.96875
__proto__: Object
__proto__: Object
要访问其财产,您可以通过以下方式执行:
var lat = mybound["_southWest"]["lat"];
答案 1 :(得分:0)
如果mybounds是你的对象,你可以做到
mybounds._southWest.lat;
示例:
var str = '{"_southWest":{"lat":27.059125784374068,"lng":-127.96875},"_northEast":{"lat":50.62507306341435,"lng":-69.169921875}}';
var mybounds= JSON.parse(str);
console.log(mybounds._southWest.lat);
27.059125784374068