我想从 ESRI 几何图形中提取经度和纬度,并将它们连接成一个长字符串(在 API 调用中使用)。
我正在努力解决如何实现这一目标
ESRI 几何文档 ( geometry specs ) 显示了对象的结构,但我的 API 调用需要以下格式的纬度/经度:
long1,lat1,long2,lat2,long3,lat3 ... long1, lat1
我所要做的就是稍微处理一下长/拉特。根据 ESRI 文档制作一个非常简单的示例
MyTest = {
"rings": [
[
[-97.06138, 32.837],
[-97.06133, 32.836],
[-97.06124, 32.834],
[-97.06127, 32.832],
[-97.06138, 32.837]
]
],
"spatialReference": {
"wkid": 4326
}
};
alert(JSON.stringify(MyTest.rings[0]));
会给我环(经度/纬度)(注意第一个长/纬度重复为最后一个长/纬度)
我似乎无法弄清楚如何去掉 [ 和 ] 来创建仅包含经度和纬度的字符串。例如:
myTest2 = MyTest.rings[0]; // get the longitudes and latitudes
myTest3 = JSON.stringify(myTest2);
myTest4 = myTest3.replace("[","");
alert(JSON.stringify(myTest2));
alert(JSON.stringify(myTest4));
替换将去掉其中一个括号,但我无法让它像这篇文章 stack javascript replace 那样进行全局替换。因为我的编程环境全部在 ColdFusion 中,并且我需要模式周围的引号。
有人可以指出我的错误吗?谢谢!
最佳答案
您可以使用 Example 尝试此操作 ( join() ) :
MyTest = { "rings": [...] };
var str = MyTest.rings.join();
结果(在str
中)将是:
-97.06138,32.837,-97.06133,32.836,-97.06124,32.834,-97.06127,32.832,-97.06138,32.837
关于javascript - 连接 JSON 中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24253201/