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.

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: