online 1
gast (50)

/ Forum / Skripte(PHP,ASP,Perl...)

Skripte(PHP,ASP,Perl...)Skripte(PHP,ASP,Perl...)

Fragevon rabies vom 18.06.2019, 12:12 Options

[JavaScript] JSON-Objektnotation - Zugriff auf Object-"Index"?

Morgen zusammen.

Ich habe hier einen json-String der wie folgt aussieht:

jsonSTRING = { '12345' : { 'name1' : 'wert1', 'name2' : 'wert2' }, { '54321' : { 'name1' : 'wert1', 'name2' : 'wert2' }}


Da '12345' sowie '54321' hier nur Platzhalter sind, und später durch (zufällig) generierte IDs ersetzt werden sollen, stellt sich mir die Frage, wie ich denn an die Indexes des Hauptobjektes, welches in jsonSTRING liegt, herankomme. Sprich -> Ich würde in diesem Falle gerne '12345' und '54321' zurückgeliefert bekommen. Gibt's eine fertige Methode um alle Kinder des Objektes anzuzeigen?

Ansonsten hätte ich nur die Idee, mir die generierten IDs alle in ein Array zu schreiben... sodass ich einen Überblick behalte, welche IDs nun in dem jsonSTRING-Object herumschwirren...

Danke für Hilfe im Vorraus,

Grüße,
--rabies.


Antwort schreiben

Antwort 1 von rabies vom 18.06.2019, 12:14 Options

Aeh, Fehler... der jsonSTRING sieht so aus:

jsonSTRING = { '12345' : { 'name1' : 'wert1', 'name2' : 'wert2' }, '54321' : { 'name1' : 'wert1', 'name2' : 'wert2' }}


--rabies.

Antwort 2 von rfb vom 18.06.2019, 14:58 Options

Die for-in-Schleife sollte dir das gewünschte Ergebnis liefern können.

Eigenschaftennamen eines Objekts (dein jsonSTRING) sollten meines Wissens wie alle Variablennamen mit einem Buchstaben beginnen.

Antwort 3 von rabies vom 18.06.2019, 16:31 Options

for...in
kannte ich noch nicht, danke. Das hat das Problem gelöst. :)

Der JavaScript-Parser mokiert sich wegen der Variablennamen nicht, wie mir scheint...

Antwort 4 von rfb vom 18.06.2019, 22:51 Options

Zitat:
Der JavaScript-Parser mokiert sich wegen der Variablennamen nicht, wie mir scheint.
wie greifst du drauf zu?

Antwort 5 von rabies vom 21.06.2019, 09:33 Options

Ungefähr so:


	var jsonSTRING = {
	    '123456': { name1: 'wert1', name2: 'wert2' },
	    '654321': { name1: 'wert1', name2: 'wert2' },
	}
	serializationAPI.data = jsonSTRING;
	serializationAPI.save();

	var serializedData = serializationAPI.load();
	for( obj in serializedData ) {
		alert(serializedData[obj].name2); // greift dann jeweils auf name2 von '123456' und '654321' zu
	}


serializationAPI übernimmt hier nur das schicken an den Server... serializationAPI.load wirft mir den 'geparsten' jsonString zurück...

Antwort 6 von rabies vom 21.06.2019, 09:50 Options

Korrektur (das Komma nach dem zweiten Unterobjekt gehört da natürlich nicht hin):

   var jsonSTRING = {
    '123456': { name1: 'wert1', name2: 'wert2' },
    '654321': { name1: 'wert1', name2: 'wert2' }
   }


--rabies.

Antwort 7 von rfb vom 21.06.2019, 11:02 Options

also nicht direkt sondern nur indirekt über die for-in-Schleife - das war's was ich wissen wollte ;-)

Ähnliche Themen

JavaScript aktivieren
Mickey  06.05.2008 - 2170 Hits -

SWF Objekt geht nicht
Hendrik009  29.08.2007 - 55 Hits - 5 Antworten

ein flash-programm/video in einer htmldatei einbinden
TByte  17.03.2008 - 30 Hits - 20 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Mon Jan 26 01:23:17 2026