NEWS
[gelöst]Hilfe bei JSON.parse
-
ich brauche mal einen Schups in die richtige Richtung.
folgendes habe ich:
{"000147619644":{"ident":{"type":{"key_localized":"Gerätetyp","value_raw":1,"value_localized":"Waschmaschine"},"deviceName":"","deviceIdentLabel":{"fabNumber":"000147619644","fabIndex":"11"...........................
ich brauche hier die Nummer gleich am Anfang.
mit dem bekomme ich es nicht hin:
var test = JSON.parse(body); log('test: ' + test.was.auch.immer);
im Moment zerlege ich das und hole mir die Nummer. Muss mM. schöner gehen.
test = (body.substring(body.indexOf('{"') + 2, body.indexOf('":{')));
Vorab, vielen Dank für eure Hilfe!
-
….
Vorab, vielen Dank für eure Hilfe! `
Ich kenne jetzt nicht den ganzen "string/json" den du auswerten möchtest.
Ich habe mir den Teil den du eingestellt hast mal genommen und folgendes gab bei mir nur die nummer aus:
log('test: ' + Object.keys(test));
Wenn das nicht geht stelle mal bitte die ganze Zeile zur Verfügung dann kann ich noch weiter probieren
-
Wenn das nicht geht stelle mal bitte die ganze Zeile zur Verfügung dann kann ich noch weiter probieren `
also hier mal die Zeile, Im Prinzip vom Original, aber wegen der Übersichtlichkeit um einige Punkte gekürzt.
{"000147619644":{"Geraet":{"Typ":{"ValueRaw":1,"Value":"Ofen"},"GeraeteDaten":{"GeraeteNummer":"000147619644","TypeBezeichnung":"WMV963"}}}}
noch ne kurze Erklärung:
Ändern kann sich in der Zeile so gut wie Alles. Für mich wichtig ist die Zahl ganz am Anfang (000147619644).
Das ist eine Seriennummer die ich zum Auslesen der restlichen Felder benötige.
wenn ich die Zahl habe, kann ich Felder auslesen. z.B.
log(obj['000147619644'].Geraet.GeraeteDaten.TypeBezeichnung);
aber um soweit zu kommen, brauche ich die Zahl.
ODER
gibt es eine Art "Wildcard" für den Teil?
-
Für mich wichtig ist die Zahl ganz am Anfang `
Versuche mal https://wiki.selfhtml.org/wiki/JavaScript/Objekte/Object/keysvar sn = Object.keys(obj)[0]; // Seriennummer als String
-
Versuche mal https://wiki.selfhtml.org/wiki/JavaScript/Objekte/Object/keys
var sn = Object.keys(obj)[0]; // Seriennummer als String ```` `
Mensch, es klappt. Und bis auf "[0]" ist es auch das Selbe was peoples geschrieben hat.
Ich war halt wieder zu dusselig das zu schnallen.
In meinem Fall, da nur eine Zahl da steht geht es auch ohne "[0]". Ich vermute, wären es mehr müsste man das zwingend mit angeben.
Vielen Dank euch beiden!
PS: paul ich habe da noch ein Problem, vielleich kannst du mir das kurz erklären. viewtopic.php?f=21&t=20986#p220265
-
die "[0]" ist die Zeile in der array, dein array hat nur 1 object dan klappt das, es fangt bei 0 zu zahlen an.
also solange der string so bleibt OK, wen die json mal mit nem 2ten wert erweitert wird gehts schief
-
die "[0]" ist die Zeile in der array, dein array hat nur 1 object dan klappt das, es fangt bei 0 zu zahlen an.
also solange der string so bleibt OK, wen die json mal mit nem 2ten wert erweitert wird gehts schief `
OK, dann gewöhne ich mir lieber an das immer mit rein zu nehmen.