Ich habe ein verschachteltes Javascript-Objekt wie
%Vor%Hier kann ich auf die Felder data.profile.age.type oder data.name.type zugreifen. Keine Probleme Und wenn ich dynamische Variablennamen habe, kann ich wie folgt zugreifen. Nochmal, keine Probleme.
%Vor%Aber hier habe ich Variablennamen wie 'name', 'profile.age', 'profile.city' usw. und natürlich kann ich nicht auf sie zugreifen als f = 'profile.age'; Daten [f] .type, die nicht funktionieren.
Kann mir irgendjemand auf einfachste und einfache Art und Weise zeigen, wie man auf sie zugreift?
Hinweis: Ich habe es versucht und es funktioniert für get.
%Vor%obwohl Set scheint nicht einfach genug zu sein. Bitte lassen Sie mich wissen, ob es bessere Lösungen für den Einstieg und das Set gibt.
Verwenden Sie eval
nicht, es sei denn, dies ist absolut notwendig. :) Zumindest in diesem Fall gibt es bessere Möglichkeiten, dies zu tun - Sie können den verschachtelten Namen in einzelne Teile aufteilen und darüber iterieren:
Vielleicht eine Funktion, die den Pfad zu der Eigenschaft aufnimmt, an der Sie interessiert sind, und sie in Token zerlegt, die Eigenschaften darstellen. So etwas (das ist natürlich sehr grob):
%Vor%Beispiel:
%Vor%Dies verwendet die Funktion jquery.each (), um einen json-Baum mit einer String-Variablen zu durchlaufen, die ein oder mehrere "." enthalten kann oder auch nicht. Sie könnten alternativ ein Array übergeben und die .split ();
weglassenpathString = etwas wie "person.name"
jsonObj = etwas wie {"person": {"name": "valerie"}}.
%Vor%gibt "valerie"
zurückTags und Links javascript nested json variables