Function DE Version 12.11

@JsonRemove

Json

Syntax

@JsonRemove(HJSON;KEY);
@JsonRemove(HJSON;INDEX);

Beschreibung

Diese @Function entfernt einen Wert aus einem bestehenden JSON-Object oder JSON-Array.

Bei einem JSON-Object muss der zweite Parameter ein TEXT KEY sein. Der dem angegebenen Key zugeordnete Wert wird aus dem Object entfernt.
Bei einem JSON-Array muss der zweite Parameter ein numerischer FN INDEX sein. JSON-Arrays verwenden eine 0-basierte Indizierung, das erste Element besitzt daher den Index 0.

Nach dem Entfernen eines Elements aus einem JSON-Array werden die nachfolgenden Elemente entsprechend nach vorne verschoben.
Als Return-Wert liefert die @Function bei einem Fehler @ERROR, andernfalls TRUE.

VSPECHJSON HJSON:
Handle des JSON-Objects oder JSON-Arrays, aus dem ein Wert entfernt werden soll.
HJSON muss ein gültiges VSPECHJSON (HJS) Handle enthalten.

TEXT KEY:
Key des aus einem JSON-Object zu entfernenden Wertes.

FN INDEX:
Index des aus einem JSON-Array zu entfernenden Elements; die Zählung startet mit 0.
Der Parameter kann als NUMBER oder FLOAT angegeben werden.

Beispiel: @JsonRemove(HJSON;KEY);
HJSON:=@JsonParse("{\"Name\":\"Max Mustermann\",\"Age\":42,\"Active\":true}");
@JsonRemove(HJSON;"Age");
JSONTEXT:=@JsonSerialize(HJSON;"A");
@JsonRelease(HJSON);

Die JSON-Struktur entspricht anschließend:
{"Name":"Max Mustermann","Active":true}

Existiert der angegebene Key nicht, liefert die Funktion @ERROR.

Beispiel: @JsonRemove(HJSON;INDEX);
HJSON:=@JsonParse("[\"A\",\"B\",\"C\"]");
@JsonRemove(HJSON;1);
JSONTEXT:=@JsonSerialize(HJSON;"A");
@JsonRelease(HJSON);

Die JSON-Struktur entspricht anschließend:
["A","C"]

Da das Element mit Index 1 entfernt wurde, rückt das bisherige Element mit Index 2 auf Index 1 nach.
Ein ungültiger beziehungsweise außerhalb des Arrays liegender Index führt zu @ERROR.