mit item() Funktion Feld auslesen und andere Felder befüllen?
Hallo zusammen,
ich habe mit der Funktion item() wie im Handbuch beschrieben, folgendes getan:
Auf einem Button liegt der Code:
let xx := ImportDaten;
alert(item(xx, "NAME"));
NAME := item(ImportDaten, "NAME");
Vorname := item(ImportDaten, "Vorname");
GlobaleID := item(ImportDaten, "GlobaleID");
Copy
Den "Alert" habe ich eingebaut, um eine Rückmeldung zu bekommen. Egal was ich mache, die Datenfelder bleiben leer... der Alert sagt "undefined"
Das Feld "ImportDaten" enthält:
{
"NAME": "Duck",
"Vorname": "Donald",
"GlobaleID": "M123"
}
Copy
Dabei entsteht unter anderem bei der Anlage das problem mit den drei unterschiedlichen Arten von Anführungszeichen: Das "normale", ein Automatismus, der sie vor dem Wort nach unten und danach oben setzt.
Auch ob der Key selbst noch in "" steht oder nicht macht keinen Unterschied.
Was soll passieren:
Keys auslesen und Inhalt in das Datenfeld des selben Satzes schreiben.
Was mache ich hier falsch?
Danke für Eure Unterstützung
3 Antworten
-
Die Funktion item() benutzt man bei Array's.
ImportDaten ist aber nach deiner Definition ein JSON-Objekt.
let xx := ImportDaten;
alert(xx.Name);
NAME := ImportDaten.Name;
Vorname := ImportDaten.Vorname;
GlobaleID := ImportDaten.GlobaleID; -
Ergänzung:
Wenn das das Feld, das JSON-Objekt als Text enthält, muss man es vor der Verarbeitung erst als JSON parsen.
Dann sähe das Script so aus:let xx := parseJSON(ImportDaten);
alert(xx.Name);
NAME := xx.Name;
Vorname := xx.Vorname;
GlobaleID := xx.GlobaleID; -
Danke Uwe, das funktioniert.
Content aside
- vor 2 JahrenZuletzt aktiv
- 3Antworten
- 156Ansichten
-
2
Folge bereits