JsonSet() ändert einen String, der JSON-Daten (JavaScript Object Notation) enthält. Es kann ein JSON-Wert mit dem neuen, vom Pfad angegebenen Speicherort festgelegt oder eingefügt werden. Die Daten müssen gültiges JSON sein, können aber weitere Leerzeichen oder neue Zeilen enthalten.
Syntax:
value JsonSet(json, path, value)
Rückgabe Datentyp: dual
Argumente
Argument
Beschreibung
json
String mit JSON-Daten
path
Der Pfad muss gemäß RFC 6901 angegeben werden. Dies ermöglicht ein Buildup von Eigenschaften innerhalb von JSON-Daten, ohne komplexe Teilstrings oder Indexfunktionen und Verkettung zu verwenden.
value
Der neue String-Wert im JSON-Format.
Beispiel: Gültige und ungültige Diagrammformeln
Beispiel
Ergebnis
JsonSet( '{}','/a','"b"' )
Gibt {"a":"b"} zurück
JsonSet( '[]','/0','"x"' )
Gibt ["x"] zurück
JsonSet( '"abc"','','123' )
Gibt 123 zurück
JsonSet( '"abc"','/x','123' )
Gibt null zurück. Der Pfad zeigt nicht auf einen gültigen Teil der JSON-Daten.
JsonSet( '{"a":{"b":"c"}}','a/b','"x"' )
Gibt null zurück. Der Pfad ist ungültig.
JsonSet( '{"a":"b"}','/a','abc' )
Gibt null zurück. Der Wert ist kein gültiges JSON. Ein String muss in Anführungszeichen eingeschlossen sein.
Beispiel – Grundlegendes zu „JsonSet“
Übersicht
Sie erhalten JSON-Daten als Textstring in einer einzigen Zeile. Sie möchten den Preis des Artikels und den Gesamtpreis der Bestellung entsprechend aktualisieren.
Öffnen Sie den Dateneditor und fügen Sie das Ladeskript unten in eine neue Registerkarte ein.
Das Ladeskript umfasst:
Datensatz, der in eine Datentabelle namens Example geladen wird
Laden Sie die Daten und öffnen Sie ein Arbeitsblatt. Erstellen Sie eine neue Tabelle und fügen Sie dieses Feld als Dimension hinzu:
OrderDetails
Erstellen Sie die folgende Kennzahl:
JsonSet(JsonSet(OrderDetails,'/items/price',1100),'/total_price',2200), um den Preis auf 1100 und den Gesamtpreis auf 2200 festzulegen, indem Sie den korrekten Pfad zu den entsprechenden Schlüsseln im JSON-String verwenden.
Wenn Sie Probleme mit dieser Seite oder ihren Inhalten feststellen – einen Tippfehler, einen fehlenden Schritt oder einen technischen Fehler –, teilen Sie uns bitte mit, wie wir uns verbessern können!