Referenz > Funktionen > Textfunktionen > JSONSetElement
 
JSONSetElement
Zweck 
Fügt ein Element in JSON-Daten hinzu bzw. ändert es, das durch einen Objektnamen, einen Arrayindex oder einen Pfad spezifiziert wird.
Format 
JSONSetElement(json;SchlüsselOderIndexOderPfad;Wert;Typ)
Parameter 
json - beliebiger Textausdruck oder Feld, das ein JSON-Objekt oder -Array enthält.
SchlüsselOderIndexOderPfad - beliebiger Textausdruck oder Feld, das einen JSON-Objektnamen (Schlüssel), einen Array-Index oder einen Pfad enthält. Weitere Informationen finden Sie unter Arbeiten mit den JSON-Funktionen.
Wert - beliebiger Ausdruck oder Feld, das eine Zahl, Text oder JSON-Daten enthält.
Typ - ein benannter Wert, der den Typ der festzulegenden Daten angibt (siehe unten).
Zurückgegebener Datentyp 
Text
Ursprung in 
FileMaker Pro 16.0
Beschreibung 
Diese Funktion gibt json zurück, wobei Wert auf den angegebenen SchlüsselOderIndexOderPfad gesetzt ist. Wenn der Parameter json leer ist (""), fügt diese Funktion den Wert zu einem JSON-Objekt (in geschweiften Klammern { }) hinzu, es sei denn, der erste Teil des Parameters SchlüsselOderIndexOderPfad beginnt mit einem [-Zeichen. In diesem Fall fügt die Funktion den Wert zu einem JSON-Array hinzu (in eckigen Klammern [ ]).
Verwenden Sie für den Parameter Typ einen der folgenden benannten Werte, um den Datentyp für den Parameter Wert anzugeben.
 
Typ
Angegebener Wert ist
JSONString
Zeichenfolge („ “)
JSONNumber
Zahl
JSONObject
Objekt ( { } )
JSONArray
Array ( [ ] )
JSONBoolean
Boolean
JSONNull
Null
JSONRaw
Vom JSON-Parser zu bestimmen
Wenn für JSONBoolean der Wert das Ergebnis true (in Kleinbuchstaben) hat, wird er als wahr behandelt. Anderenfalls wird der Wert wie der Parameter test in der Wenn Funktion als „true“ oder „false“ ermittelt.
Für JSONRaw wird Wert durch den JSON-Parser verarbeitet. Wenn es sich bei Wert um gültige JSON-Daten handelt, wird das analysierte Ergebnis im zurückgegebenen Wert dieser Funktion verwendet. Anderenfalls wird Wert als eine JSON-Zeichenfolge verwendet.
Sie können mehrere Elemente festlegen, indem Sie für jedes Element einen zusätzlichen Satz an SchlüsselOderIndexOderPfad-, Wert- und Typ-Parametern in eckigen Klammern [ ] hinzufügen. Die folgende Syntax legt N Elemente gleichzeitig fest:
JSONSetElement ( json ;
   [ SchlüsselOderIndexOderPfad1; Wert1 ; Typ1 ] ;
   [ SchlüsselOderIndexOderPfad2 ; Wert2 ; Typ2 ] ;
   ...
   [ SchlüsselOderIndexOderPfadN ; WertN ; TypN ]
)
Hinweise 
Diese Funktion wird in Runtime-Lösungen nicht unterstützt und gibt „?“ zurück.
Beispiel 1 
Fügt einen Schlüssel und seinen Wert zur Root-Ebene eines JSON-Objekts hinzu.
JSONSetElement ( "{ \"a\" : 11 }" ; "b" ; 22.23 ; JSONNumber ) gibt {"a":11,"b":22.23} zurück.
Beispiel 2 
Fügt ein JSON-Objekt als Element eines anderen JSON-Objekts hinzu. Wenn die Variable $$JSON wie folgt eingestellt ist:
{
"a" : {
"ID" : 12;
"lnk" : 34
}
}
Dann liefert
JSONFormatElements (
   JSONSetElement ( $$JSON ; "b" ; "{ \"id\" : 14, \"lnk\" : 73 } " ;
      JSONObject
   )
)
dieses Ergebnis
{
"a" :
{
"ID" : 12;
"lnk" : 34
},
"b" :
{
"ID" : 14;
"link" : 73
}
}
Beispiel 3 
Bezieht aus den Beispiel für JSON-Daten, die in der Variablen $$JSON gespeichert sind, die Werte der Schlüssel „Angebot“ und „Bestand“ im ersten „Produkt“-Element im Array.
JSONFormatElements (
   JSONSetElement ( $$JSON ;
   [ "Bäckerei.Produkt[0].Angebot" ; 0 ; JSONBoolean ] ;
   [ "Bäckerei.Produkt[0].Bestand" ; 0 ; JSONNumber ]
   )
)
Gibt dieselben Daten zurück wie in $$JSON, allerdings ist das erste Element des Arrays „Produkt“ wie folgt geändert:
{
"Kategorie" : "Brot",
"ID" : "FB1",
"Name" "Donuts",
"Preis" : 1,99,
"Angebot" : false,
"Bestand" : 0
}
Weiterführende Themen 
Funktionen (Kategorienliste)
Funktionen (Alphabetische Liste)
Über Formeln
Erläuterung von Funktionen
Definieren von Formelfeldern
Verwenden von Operatoren in Formeln
Arbeiten mit den JSON-Funktionen