如何访问JSON对象数组的第一个元素?

时间:2015-03-13 12:41:43

标签: javascript arrays json

我认为mandrill_events只包含一个对象。如何访问其event-property

var req = { mandrill_events: '[{"event":"inbound","ts":1426249238}]' }

7 个答案:

答案 0 :(得分:15)

var req = { mandrill_events: '[{"event":"inbound","ts":1426249238}]' }

console.log(Object.keys(req)[0]);

创建任何Object数组(req),然后只需执行Object.keys(req)[0]以选择Object数组中的第一个键。

答案 1 :(得分:9)

要回答你的名义问题,你可以使用[0]来访问第一个元素,但是因为mandrill_events包含的字符串不是数组,所以mandrill_events[0]会让你获得第一个元素性格,'['。

因此要么将您的来源更正为:

var req = { mandrill_events: [{"event":"inbound","ts":1426249238}] };

然后req.mandrill_events[0],或者如果你坚持使用它是一个字符串,解析字符串包含的JSON:

var req = { mandrill_events: '[{"event":"inbound","ts":1426249238}]' };
var mandrill_events = JSON.parse(req.mandrill_events);
var result = mandrill_events[0];

答案 2 :(得分:2)

事件属性似乎是字符串首先你必须将它解析为json:

 var req = { mandrill_events: '[{"event":"inbound","ts":1426249238}]' };
 var event = JSON.parse(req.mandrill_events);
 var ts =  event[0].ts

答案 3 :(得分:1)

'[{"event":"inbound","ts":1426249238}]'是一个字符串,您无法访问那里的任何属性。您必须使用JSON.parse()将其解析为对象,然后像普通对象一样处理它

答案 4 :(得分:1)

我会用一个一般的例子来解释这个:

var obj = { name: "John", age: 30, city: "New York" };
var result = obj[Object.keys(obj)[0]];

结果变量的值为“John”

答案 5 :(得分:0)

用Javascript解析后,试试这个:

mandrill_events[0].event

答案 6 :(得分:0)

假设shift()的内容是一个对象(不是字符串),则还可以使用var req = { mandrill_events: [{"event":"inbound","ts":1426249238}] }; var event-property = req.mandrill_events.shift().event; 函数:

git revert --continue