如何使用名为“的键访问json数组?”;“数据”;用javascript?

如何使用名为“的键访问json数组?”;“数据”;用javascript?,javascript,json,Javascript,Json,我从RESTAPI返回了json响应,如下所示 { "data": [{ "id": "86", "name": "Hello", "last_name": "world" }], "extra": { "message": "Hello", "additionalmessage&

我从RESTAPI返回了json响应,如下所示

{
  "data": [{ "id": "86", "name": "Hello", "last_name": "world" }],
  "extra": { "message": "Hello", "additionalmessage": "world" }
};
我使用jsonparse将其转换为javascript中的对象,如下所示

var obj=JSON.parse(e.data)

当我访问obj.extra.message时,它会打印“Hello”。

但当我尝试访问对象数据[0]时,我得到了[object][object], 似乎它把“数据”作为一个关键词


我如何克服这个问题?

看来您的回答已经是JSON了。因此,不要再次解析它:

const data = {
   "data":[
      {
         "id":"86",
         "name":"Hello",
         "last_name":"world"
      }
   ],
   "extra":{
      "message":"Hello",
      "additionalmessage":"world"
   }
}

console.log(data["data"][0].name);

您的响应似乎已经是JSON了。因此,不要再次解析它:

const data = {
   "data":[
      {
         "id":"86",
         "name":"Hello",
         "last_name":"world"
      }
   ],
   "extra":{
      "message":"Hello",
      "additionalmessage":"world"
   }
}

console.log(data["data"][0].name);

解析工作正常;只是当您输出第一个元素时,您只是输出对象,而不是它的属性之一。对象上的默认toString输出[对象]

您可以尝试以下方法:

var user = obj['data'][0];         
console.log(user.name);   
console.log(user.last_name);   
或尝试

JSON.stingify(obj.data[0]) 

解析工作正常;只是当您输出第一个元素时,您只是输出对象,而不是它的属性之一。对象上的默认toString输出[对象]

您可以尝试以下方法:

var user = obj['data'][0];         
console.log(user.name);   
console.log(user.last_name);   
或尝试

JSON.stingify(obj.data[0]) 

以下是您如何做到这一点:

var obj={
“数据”:[{“id”:“86”,“name”:“Hello”,“last_name”:“world”}],
“额外”:{“消息”:“你好”,“额外消息”:“世界”}
};

console.log(obj[“data”][0][“id”])以下是您的操作方法:

var obj={
“数据”:[{“id”:“86”,“name”:“Hello”,“last_name”:“world”}],
“额外”:{“消息”:“你好”,“额外消息”:“世界”}
};

console.log(obj[“data”][0][“id”])请注意,对象位于数组中。 Javascript不显示整个对象;必须使用对象的键来访问其数据


Obj.data[0]
是整个对象。

请注意,您的对象位于数组中。 Javascript不显示整个对象;必须使用对象的键来访问其数据

Obj.data[0]
是整个对象。

数据是一个数组,按预期工作数据是一个数组,按预期工作