0

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

null
    • UweG
    • vor 1 Jahr
    • Gemeldet - anzeigen

    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;

    • UweG
    • vor 1 Jahr
    • Gemeldet - anzeigen

    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;

    • ZitronenKiller
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Danke Uwe, das funktioniert.

Content aside

  • vor 1 JahrZuletzt aktiv
  • 3Antworten
  • 132Ansichten
  • 2 Folge bereits