Javascript从JSON解析后获取对象的名称

标签 javascript json

考虑以下 JSON 字符串:

[{"ElementID1":{"latitude":"10.02483","longitude":"70.753464"}},{"ElementID2":{"latitude":"10.029301","longitude":"70.751892"}},{"ElementID3":{"latitude":"10.029568","longitude":"70.751856"}}]

它包含在“data”变量中:

var response = JSON.parse(data);

我如何查看这个结果? 对我来说很明显,我可以首先将其作为数组访问:

for(var element in response)
{

}

但我不知道“ElementID1”是什么。它可以是任何字符串,所以我不能只做类似的事情

element.elementID.latitude 

检索对象纬度。我还希望能够获取该图片 ID 本身。

我认为这是一个简单的问题,但我已经尝试在谷歌上搜索答案一段时间了,但没有任何进展。

最佳答案

var data = [{"ElementID1":{"latitude":"10.02483","longitude":"70.753464"}},
            {"ElementID2":{"latitude":"10.029301","longitude":"70.751892"}},
            {"ElementID3":{"latitude":"10.029568","longitude":"70.751856"}}];

for(var i = 0; i < data.length; i++) {
    var obj = data[i];    
    for (var key in obj) {
       if (obj.hasOwnProperty(key)) {
          console.log(obj[key].latitude);
       }
    }
}

<强> DEMO

基本上,您需要访问每个数据数组元素,在本例中是一个对象,并且由于您不知道每个元素的 ElementID* 名称,因此您可以循环遍历该对象的属性寻找所需的属性,在本例中为纬度

关于Javascript从JSON解析后获取对象的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24298053/

相关文章:

javascript - npm 异步模块的替代品?

javascript - .NET MVC JSON Post Call 响应未完成或成功

javascript - 在 HTML 中呈现任意 JSON

javascript - JSON @属性

javascript - 根据文本区域中的行计算值(value)/价格

javascript - 绘图管理器标记监听器 Position_Changed

ios - Swift中JSON解析返回数据

ios - 使用空值填充 NSString

java - 用于 Java AWS Lambda 的 POJO 输入处理程序的大写字段

javascript - 如何从服务器获取 AngularJs 数组中每个元素的数据