如何使用javascript获取json对象属性

h.a*_*oui 5 javascript json

初学者同时使用JSON和javascript.我需要一种方法从对象列表而不是他的值返回它自己的 subAttributeOne.

以下是列表的示例,

var list = 
[
   {
   attribute1: "value",
   attribute2:[{subAttributeOne:"value",subAttributeTwo:"value"},{}]
   },
   //other objects
   {..}
]
Run Code Online (Sandbox Code Playgroud)

我试过跟着,

list[0].attribute2[1].subAttributeOne
Run Code Online (Sandbox Code Playgroud)

它返回value但我需要的结果是subAttributeOne

gia*_*rsi 5

有了这个:

Object.keys(list[0].attribute2[0])
Run Code Online (Sandbox Code Playgroud)

你得到

['subAttributeOne', 'subAttributeTwo']
Run Code Online (Sandbox Code Playgroud)


Sim*_*imo 3

如果您想要来自对象的键,您可以使用object.keys它将带回所有键,但要定义其位置,在您的情况下,您可以使用如下所示:

Object.keys(list[0].attribute2[1])[0]
Run Code Online (Sandbox Code Playgroud)

但它[0]不像索引那样工作,因为 JavaScript 中不能保证对象中的属性顺序。要了解更多信息,我建议您阅读: JavaScript 是否保证对象属性顺序?

在此链接中,您将找到 ECMAScript 第三版中对象的定义:

4.3.3 对象

对象是对象类型的成员。它是一个无序的属性集合,每个属性都包含一个原始值、对象或函数。存储在对象属性中的函数称为方法

  • @t.gian18 顺序是*任意*,即没有顺序。 (2认同)