我如何解析这个JSON以获得我需要的数据
How do I parse this JSON to get the data I need?
我一直在挣扎,需要一些帮助。
这是将返回给我的JSON示例。我把它赋值给一个名为result的变量,这样我就可以在代码中测试它。我不确定如何伪造JSON被返回给我。
https://dl.dropboxusercontent.com/u/10842024/JSON.jsJSON由两个不同的对象Line和Line2组成,每个对象由多个路径(polyline)特征组成。
我试图创建一个Polyline对象,并使用ESRI JavaScript API将每个对象添加到地图中。下面是Polyline对象的文档:
https://developers.arcgis.com/javascript/jsapi/polyline-amd.html polyline2
require(["esri/geometry/Polyline"], function(Polyline) {
var polylineJson = {
"paths":[[[-122.68,45.53], [-122.58,45.55],
[-122.57,45.58],[-122.53,45.6]]],
"spatialReference":{"wkid":4326}
};
var polyline = new Polyline(polylineJson);
});
返回的JSON符合Polyline对象的需要:
"features": [
{
"attributes": {
"OBJECTID": 2368
},
"geometry": {
"paths": [
[
[
-123.94500566712864,
45.27071700030354
],
[
-123.9449701393585,
45.27069704962526
],
[
-123.94494162013,
45.27067958572745
],
[
-123.94489725722464,
45.2706251239781
],
[
-123.94489153421517,
45.27054128625377
]
]
]
}
},
但是我如何循环遍历每个功能并将JSON插入Polyline对象,以便它的格式正确?
我知道我错过了一些东西,因为我不知道该怎么做。
我想应该是这样吧…
for (var i in result.results)
{
var features = result.results[i].features;
for (var j in features)
{
console.log(features[j].attributes.OBJECTID); // print OBJECTID
var geometry = features[j].geometry.paths;
for (var k in geometry)
{
console.log(geometry[k]); // print paths, arrays of points
var points = geometry[k];
for (var l in points)
console.log(points[l]); // print points
}
}
}
http://jsfiddle.net/e0dxn8ze/2/打开JavaScript控制台查看
这是我刚刚写的一个未经测试的解决方案。
// Get the JSON string
json_string = whaterver_function_gets_you_the_json();
// Parse JSON into JS
polys = JSON.parse(json_string);
// Loop through polys and create Polyline
polys.features.forEach(function(el) {
new Polyline(el.geometry);
});
编辑:对不起,我没有看到JSON.js链接。这个解决方案应该仍然有效,你只需要调整你要循环的对象属性。例如:result.results[0].features.forEach(function(el){});
,或者如果您还需要循环遍历所有结果,则可以嵌套forEachs。
相关文章:
- jquery创建的数据-*有时无法解析
- AngularJS加载JSON数据,然后从中解析/加载HTML
- 如何使用jquery解析具有相同标签名称的yahoo天气api数据
- 使用jquery解析phonegap中的json数据
- 如何将变量数据存储在其他变量中并对其进行解析
- 如何使用JavaScript解析输入文本中给定的数据
- 如何将JSON数据转换为变量,解析并输出为HTML
- 正在创建使用子字符串解析JSON数据的函数
- 如何在angularjs应用程序中解析Drupal JSON数据
- 如何解析文本区域中的结构化字符串数据(接近JSON)以检索其所需的属性
- jQuery GraphML解析(正在清理导入的数据)
- jquery数据没有解析值html5数据自定义属性
- JSON编码数据未解析到PhP脚本中的JqPlot图表
- jQuery AJAX成功数据仅解析最后一个JSON节点的奇怪问题
- 如何使用CasperJS将html数据表解析/映射到JSON对象
- 将JSON数据系列解析/映射为整数
- 将变量数据类型解析为一个函数,该函数在JavaScript中包含对数据类型的条件检查
- Jquery数据属性解析json
- 如何从URL中检索数据并解析我的页面中的数据
- 从序列化数据中解析浮点数