繁体   English   中英

如何使用Javascript从GeoJSON获取字段

[英]How to get field from GeoJSON using Javascript

我从服务器获取以下GeoJSON:

[{“ st_asgeojson”:“ {\\” type \\“:\\” Point \\“,\\” coordinates \\“:[-180081.82,5279725.36]}”}]

如何获取坐标字段? 我将GeoJSON存储在geovar变量中

我尝试使用geovar["st_asgeojson"].coordinatesgeovar["st_asgeojson"].coordinates geovar[0]["st_asgeojson"].coordinatesgeovar[0]["st_asgeojson"]["coordinates"]但它们似乎未定义。

任何想法? 我知道这很简单,但我坚持下去。 谢谢。

现在, "st_asgeojson"的值是一个字符串。 您需要先将其解析为JSON,然后才能对其进行访问。 使用map循环并使用JSON.parse解析"st_asgeojson"的值

 const geovar = [{"st_asgeojson":"{\\"type\\":\\"Point\\",\\"coordinates\\":[-180081.82,5279725.36]}"}] const rs = geovar.map(e => { e["st_asgeojson"] = JSON.parse(e["st_asgeojson"]) return e }) console.log(rs[0]["st_asgeojson"]["coordinates"]) console.log(rs) 

好的,我终于解决了这种问题:

[{“ st_asgeojson”:“ {\\” type \\“:\\” Point \\“,\\” coordinates \\“:[-180081.82,5279725.36]}”}]

是内部带有GeoJSON的JSON。 在解析GeoJSON之前,我必须从已经解析的JSON中获取GeoJSON字符串。 唯一必要的指示是:

var obj = JSON.parse(geovar[0]["st_asgeojson"]);
var coordinates = obj.coordinates;

从服务器获取的是JSON字符串数据,如果要解析,请首先使用JSON.stringify()函数创建JSON。 希望能解决您的问题。 之后,您可以轻松地根据需要解析数据。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM