JsonSet() wijzigt een string die JSON-gegevens (JavaScript Object Notation) bevat. Het kan een JSON-waarde instellen of invoegen met de nieuwe locatie die is opgegeven door het pad. De JSON-gegevens moeten een geldige JSON zijn, maar kunnen extra spaties of nieuwe regels bevatten.
Syntaxis:
value JsonSet(json, path, value)
Retourgegevenstypen: dubbele waarde
Argumenten
Argument
Beschrijving
json
Tekenreeks met JSON-gegevens.
path
Het pad moet zijn gespecificeerd volgens RFC 6901. Dit maakt opbouwen van eigenschappen in json-gegevens mogelijk zonder gebruik van complexe subtekenreeks- of indexfuncties en aaneenschakeling.
value
De nieuwe tekenreekswaarde in JSON-indeling.
Voorbeeld: geldige en ongeldige diagramuitdrukkingen
Voorbeeld
Resultaat
JsonSet( '{}','/a','"b"' )
Retourneert {"a":"b"}
JsonSet( '[]','/0','"x"' )
Retourneert ["x"]
JsonSet( '"abc"','','123' )
Retourneert 123
JsonSet( '"abc"','/x','123' )
Retourneert null. Het pad verwijst niet naar een geldig deel van de JSON-gegevens.
JsonSet( '{"a":{"b":"c"}}','a/b','"x"' )
Retourneert null. Het pad is ongeldig.
JsonSet( '{"a":"b"}','/a','abc' )
Retourneert null. De waarde is geen geldige JSON. Een tekenreeks moet tussen aanhalingstekens worden geplaatst.
Voorbeeld - Basisprincipes voor JsonSet
Overzicht
JSON-gegevens worden ontvangen als een teksttekenreeks in een enkele regel. U wilt de prijs van het artikel en de totaalprijs van de bestelling dienovereenkomstig bijwerken.
Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuw tabblad.
Het load-script bevat:
Een gegevensverzameling die wordt geladen in een tabel met de naam Example.
Eén veld in de gegevenstabel met de naam OrderDetails.
Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg dit veld toe als dimensie:
OrderDetails
Maak de volgende meting:
JsonSet(JsonSet(OrderDetails,'/items/price',1100),'/total_price',2200) om de prijs in te stellen op 1100 en de totaalprijs op 2200 met behulp van het juiste pad naar de respectieve sleutels in de JSON-tekenreeks.
Als u problemen ervaart op deze pagina of de inhoud onjuist is – een typfout, een ontbrekende stap of een technische fout – laat het ons weten zodat we dit kunnen verbeteren!