Brauche Hilfe bei meiner App: JSON-String in Array

B

ByeBye 280323

Guten Tag,

ich habe ein Problem mit meiner App und komme da nicht weiter.
Ich lese in der App aus einer Datenbank Nachrichten aus. Es werden eigentlich immer die letzten 10 Nachrichten abgeholt. Die Nachrichten sollten in einem JSON-String abgeholt werden. Dieser JSON-String ist dann im Objekt "oData" gespeichert.
Jetzt möchte ich aus dieses Objekt bearbeiten. Ich möchte immer aus der letzten der 10 Nachrichten das C_Value in eine andere variable schieben, sodass ich damit arbeiten kann.
Problem ist das Objekt zu bearbeiten bzw. darauf zuzugreifen.
Ich bekomme das Objekt nur angezeigt wenn ich "oData.toSource()" eingebe.
Möchte ich im Objekt auf irgenetwas zugreifen mit z. B. oData[9][C_Value] oder ähnliche zugriffe funktioniert das nicht.
So sieht die Ausgabe bei "oData.toSource()" aus:
Javascript:
[{G_DEVICE:"9e19cc56-ca02-40cf-8132-7afea4450015", G_CREATED:"2017-01-25 19:33:35.556", C_SENSOR:"Gas", C_VALUE:"93", C_TIMESTAMP:"2017-01-25 19:33:34.0"}, {G_DEVICE:"9e19cc56-ca02-40cf-8132-7afea4450015", G_CREATED:"2017-01-25 19:33:42.557", C_SENSOR:"Gas", C_VALUE:"92", C_TIMESTAMP:"2017-01-25 19:33:41.0"}, {G_DEVICE:"9e19cc56-ca02-40cf-8132-7afea4450015", G_CREATED:"2017-01-25 19:33:49.558", C_SENSOR:"Gas", C_VALUE:"92", C_TIMESTAMP:"2017-01-25 19:33:48.0"}, {G_DEVICE:"9e19cc56-ca02-40cf-8132-7afea4450015", G_CREATED:"2017-01-25 19:33:56.559", C_SENSOR:"Gas", C_VALUE:"92", C_TIMESTAMP:"2017-01-25 19:33:56.0"}, {G_DEVICE:"9e19cc56-ca02-40cf-8132-7afea4450015", G_CREATED:"2017-01-25 19:34:04.56", C_SENSOR:"Gas", C_VALUE:"92", C_TIMESTAMP:"2017-01-25 19:34:03.0"}, {G_DEVICE:"9e19cc56-ca02-40cf-8132-7afea4450015", G_CREATED:"2017-01-25 19:34:11.56", C_SENSOR:"Gas", C_VALUE:"92", C_TIMESTAMP:"2017-01-25 19:34:10.0"}, {G_DEVICE:"9e19cc56-ca02-40cf-8132-7afea4450015", G_CREATED:"2017-01-25 19:34:18.561", C_SENSOR:"Gas", C_VALUE:"91", C_TIMESTAMP:"2017-01-25 19:34:17.0"}, {G_DEVICE:"9e19cc56-ca02-40cf-8132-7afea4450015", G_CREATED:"2017-01-25 19:34:25.563", C_SENSOR:"Gas", C_VALUE:"91", C_TIMESTAMP:"2017-01-25 19:34:24.0"}, {G_DEVICE:"9e19cc56-ca02-40cf-8132-7afea4450015", G_CREATED:"2017-01-26 15:12:52.674", C_SENSOR:"Gas", C_VALUE:"141", C_TIMESTAMP:"2017-01-26 15:12:51.0"}, {G_DEVICE:"9e19cc56-ca02-40cf-8132-7afea4450015", G_CREATED:"2017-01-26 15:13:12.679", C_SENSOR:"Gas", C_VALUE:"133", C_TIMESTAMP:"2017-01-26 15:13:11.0"}]

Kann mir jemand helfen und sagen wie ich auf das Objekt zugreifen kann bzw. es bearbeiten kann?
 
JSON bedeuete JavaScript Object Notation und nicht JavaScript Array Notitation. Da besagt schon der Name, wie die Properties abgefragt werden müssen.

Du bekommst kein Ergebnis, da die JSON properties nicht abgefragt werden wie ein Array, sondern wie Object Properties.

So könntest du alles in ein Array umsortieren, damit du einfacher auf die Werte zugreifen kannst.
Javascript:
var Data = [];
oData.forEach( function( element, index ) {
     Data[index] = element.C_VALUE;
} );
           
console.dir( Data );

Ich würde aber weiter mit den JSON Arbeiten, schon alleine wegen der Ressourcen.
Mit dem JSON Objekt kann man alles machen, was man auch mit Arrays machen kann.
Einzige Voraussetzung ist, das man begriffen hat, wie JSON funktioniert.
 
1. Wenn Du auf diese Weise ein Element eines Objektes ansprichst, musst Du den Namen in Hochkommas setzen.
2. Javascript ist case-sensitiv. C_Value existiert nicht, nur C_VALUE.
So funktioniert es: CoData[9]["C_VALUE"]
Oder natürlich auch so: CoData[9].C_VALUE
 
Zuletzt bearbeitet:
1. Wenn Du auf diese Weise ein Element eines Objektes ansprichst, musst Du den Namen in Hochkommas setzen.
2. Javascript ist case-sensitiv. C_Value existiert nicht, nur C_VALUE.
So funktioniert es: CoData[9]["C_VALUE"]
Oder natürlich auch so: CoData[9].C_VALUE

Super Danke das war die Lösung!!!
 

Neue Beiträge

Zurück