webentwicklung-frage-antwort-db.com.de

Wie kann auf das erste Element eines JSON-Objektarrays zugegriffen werden?

Ich behaupte, dass mandrill_events nur ein Objekt enthält. Wie kann ich auf den event-property zugreifen?

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

Um Ihre Titelfrage zu beantworten, verwenden Sie [0], um auf das erste Element zuzugreifen. Da mandrill_events jedoch eine Zeichenfolge enthält, die kein Array ist, erhalten Sie mit mandrill_events[0] nur das erste Zeichen '['.

Korrigieren Sie Ihre Quelle also auf:

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

und dann req.mandrill_events[0], oder, wenn Sie daran hängen, dass es eine Zeichenfolge ist, analysieren Sie die JSON, die die Zeichenfolge enthält:

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

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

Erstellen Sie ein beliebiges Object-Array (req) und wählen Sie dann einfach Object.keys(req)[0] aus, um den ersten Schlüssel im Object-Array auszuwählen.

14
Anuga

die Event-Eigenschaft scheint zuerst ein String zu sein, den Sie zu Json parsen müssen:

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

'[{"event":"inbound","ts":1426249238}]' ist eine Zeichenfolge, Sie können dort nicht auf Eigenschaften zugreifen. Sie müssen es mit JSON.parse() zu einem Objekt parsen und dann wie ein normales Objekt behandeln

Nachdem Sie es mit Javascript analysiert haben, versuchen Sie Folgendes:

mandrill_events[0].event
0
Qutayba