转换Geojson嵌套数组数据并在jquery中将其打印为列表
Converting Geojson nested array data and printing it as a list in jquery
我正在尝试将GeoJson数据转换为jquery并打印特定值。下面提到的是JSONcode。
{
"type": "FeatureCollection",
"metadata":
{
"generated": 1445482204000,
"url": "http://earthquake.usgs.gov/fdsnws/event/1/query?
format=geojson&starttime=2015-01-01&endtime=2015-01-02",
"title": "USGS Earthquakes",
"status": 200,
"api": "1.0.17",
"count": 343
},
"features": [
{
"type": "Feature",
"properties": {
"mag": 2.51,
"place": "21km ESE of Coso Junction, California"
}
}
]
}
下面提到的是我的JSON文件,我想打印在jquery中的"特性"数组中的"属性"中出现的键"place"。
下面是我的努力:
$("#button2").click(function(){
$.get("http://earthquake.usgs.gov/fdsnws/event/1/count?
format=geojson&starttime=2015-10-14&endtime=2015-10-21",
function(data,status){
$.each(data.features.properties, function (i, ob) {
$.each(ob, function (ind, obj) {
console.log("key:" + ind + " value:" + obj);
});
});
});
});
HTML: <div id="Sesimic_Events">
<button id="button2">Places affected</button>
下面是我得到的错误
TypeError: data.features is undefined
任何帮助将非常感激!
所以你的基本错误是在你的$。方法,您正在调用他们的API以获取'http://earthquake.usgs.gov/fdsnws/event/1/count?format=geojson&starttime=2015-10-14&endtime=2015-10-21'的计数,这不会返回您想要的对象,如上面所示。您确实需要ping此地址:http://earthquake.usgs.gov/fdsnws/event/1/query?format=geojson&starttime=2015-10-14&endtime=2015-10-21以获取其实际数据,以便您可以遍历并获取信息....
所以应该是
$("#button2").click(function(){
$.get("http://earthquake.usgs.gov/fdsnws/event/1/query?format=geojson&starttime=2015-10-14&endtime=2015-10-21",
function(data, status) {
$.each(data.features.properties, function (i, ob) {
$.each(ob, function (ind, obj) {
console.log("key:" + ind + " value:" + obj);
});
});
});
});
但这会带来其他明显的错误,你连接的对象实际上是一个数组,所以是data。特征= [{},{}.{}];所以data。features。properties仍然是undefined。因为我也将使用这些数据,所以我想我会帮助您以您期望的方式解析它:
$.get("http://earthquake.usgs.gov/fdsnws/event/1/query?format=geojson&starttime=2015-10-14&endtime=2015-10-21",
function (data, status) {
$.each(data.features, function(index, object){
$.each(object.properties, function(i,obj){
console.log("key: ", i, " value: ", obj);
});
});
});
最重要的是不要假设数据是正确的,如果你从get得到错误,只是做一个无害的console.log(data);以确保您的数据是通过预期!
相关文章:
- 原始javascript将json对象中的项目打印到列表中的屏幕上
- 如何按骨干.js打印“此”列表项的文本
- 如何使用jquery打印多选下拉列表中的选定值
- 使用循环打印时间列表
- 正在从开发人员工具中的select元素打印选项列表
- PHP:从数据列表中打印(循环困难)
- 如何编写一个测试来验证函数是否已成功将字符串列表(在数组中指定)打印到屏幕上
- 当我尝试打印到文本区域字段中时,数据被[对象节点列表]替换
- 如何使用护照循环用户.js并将用户列表打印到 DOM 上
- 从 AJAX 检索到的对象列表中打印特定属性
- 如何使用 JavaScript/Jquery 将包含数据的列表从 ASPX 打印到 ASPX .cs
- Angular UI提前打印结果未显示在下拉列表中
- 提前打印下拉列表中的全局页脚
- 如何使用JavaScript在两个列表上打印html页面
- 如何在javascript中将JSON字符串对象打印为下拉列表
- Knockout.JS打印一个数字列表
- JavaScript:打印工作目录,将子目录中的文件列表到控制台
- 如何在HTML中以列表样式(方形,圆形等)在一行中打印列表
- 在asp.net中使用css打印列表视图,使用javascript
- 通过选择一个值 - Javascript 来打印列表