JSON_ADD_ITEM
Verwenden Sie die Script-Funktion JSON_ADD_ITEM, um ein Element zu einem JSON-Array oder Objektdokument hinzuzufügen.
Syntax
JSON_ADD_ITEM (JSON, JSONPath, Wert, [,Schlüssel,Cast]) oder (JSON, JSONPath, Wert, [Index=-1],[Cast])
Parameter
-
JSON
Ein String, der als JSON-Dokument interpretiert wird -
JSONPath
Der JSONPath zum Parent-Element des eingefügten Elements. Er muss auf ein JSON-Array oder ein JSON-Objekt verweisen.
Wichtig!- Wenn der Objektschlüssel bereits vorhanden ist, wird sein Wert mit dem neuen Wert überschrieben. Im Falle eines Arrays bezeichnet der vierte Parameter (Schlüssel) den Array-Index, unter dem das Element eingefügt wird (0 = erstes Array-Element, -1 letztes Array-Element).
- Sie können Array-Werte nicht mit JSON_ADD_ITEM überschreiben. Verwenden Sie für diesen Zweck JSON_SET_VALUE.
-
Wert
Der Wert des neuen Elements -
Schlüssel [Index=-1]
Wenn das übergeordnete Element ein Objekt ist, definiert der Schlüssel den Objektschlüssel, unter dem der Wert hinzugefügt wird. Wenn das übergeordnete Element ein Array ist, definiert der Index die Position des Arrays, an der der Wert hinzugefügt wird. Standard = -1 (Element wird am Ende des Arrays angehängt). -
Cast
(Optional) Dieser Parameter steuert die Konvertierung von Automic Script in JSON-Datentypen.- auto
Automatische Bestimmung des Datentyps. AUTO versucht, den angegebenen Wert in die folgenden Datentypen umzuwandeln (in dieser Reihenfolge). Der Wert wird in den ersten übereinstimmenden Datentyp konvertiert: JSON-String, Zahl oder String. - boolean
Wandelt die folgenden Werte in true oder false in JSON um:- true: 1
- false: 0
- number
Erzwingt die Konvertierung in eine JSON-Zahl, auch wenn der Automic Script-Datentyp keine Zahl ist - String
Erzwingt die Konvertierung in einen String (NEW_VALUE kann ein anderer Datentyp sein) - JSON
Interpretiert den String als gültiges JSON-Dokument für die Konvertierung von JSON-Strings in Anführungszeichen in JSON-Unterdokumente.
- auto
Rückgabewert
Keiner/Fehlercode im Fehlerfall
Laufzeitfehler
JSON_ADD_ITEM schlägt mit einem Laufzeitfehler unter den folgenden Bedingungen fehl:
- 45334
Wenn Ihr JSON-Dokument ungültig ist - 45344
Ungültiges Parent-Element: JSON-Objekt oder Array erwartet - 45343
Ungültiger Array-Index - 45349
Der Schlüssel-Parameter ist erforderlich, um dem JSON-Objekt einen Wert hinzuzufügen - 45339
JSONPath stimmt mit mehr als einem Element überein
Einschränkungen
JSON-Dokumente, die größer als 1 MB sind, werden nicht unterstützt
Beispiel
Das folgende Script fügt einen neuen Eigentümer-Schlüssel zum Konfigurationsobjekt hinzu und stellt dem hdd02-Eintrag im Array bootSequence einen neuen Wert voran:
:SET &JSON_DOC# = '[{"host":"192.168.0.10","active":false, "bootSequence":["hdd02"]}]'
:SET &RET# = JSON_ADD_ITEM(&JSON_DOC#, '$[0]', 'superadmin@automic.com','owner')
:SET &RET# = JSON_ADD_ITEM(&JSON_DOC#, '$[0].bootSequence', "ssd01",0)
:PRINT &JSON_DOC#
Siehe auch:
seealso