JsonSet() modifierar en sträng som innehåller JSON-data (JavaScript Object Notation). Den kan ställa in eller infoga ett JSON-värde med den nya platsen som anges av sökvägen. JSON-data måste vara giltiga, men kan innehålla extra mellanslag eller nya rader.
Syntax:
value JsonSet(json, path, value)
Returnerad datatyp: dual
Argument
Argument
Beskrivning
json
Sträng som innehåller JSON-data.
path
Sökvägen måste specificeras enligt RFC 6901. Det tillåter uppbyggnad av egenskaper inuti JSON-data utan att använda komplexa delsträngar eller indexfunktioner och konkatenering.
value
Det nya strängvärdet i JSON-format.
Exempel: giltiga och ogiltiga diagramuttryck
Exempel
Resultat
JsonSet( '{}','/a','"b"' )
Returnerar {"a":"b"}
JsonSet( '[]','/0','"x"' )
Returnerar ["x"]
JsonSet( '"abc"','','123' )
Returnerar 123
JsonSet( '"abc"','/x','123' )
Returnerar null. Sökvägen pekar inte till en giltig del av JSON-datan.
JsonSet( '{"a":{"b":"c"}}','a/b','"x"' )
Returnerar null. Sökvägen är ogiltig.
JsonSet( '{"a":"b"}','/a','abc' )
Returnerar null. Värdet är inte en giltig JSON. En sträng måste vara inom citattecken.
Exempel – grunderna i JsonSet
Översikt
JSON-data fås som en textsträng på en enda rad. Du vill uppdatera priset på artikeln och det totala priset för ordern i enlighet med detta.
Öppn skriptredigeraren och lägg till laddningsskriptet nedan till en ny flik.
Laddningsskriptet innehåller:
En datauppsättning som läses in i en datatabell som heter Example.
Ladda data och öppna ett ark. Skapa en ny tabell och lägg till det här fältet som en dimension:
OrderDetails
Skapa följande mått:
JsonSet(JsonSet(OrderDetails,'/items/price',1100),'/total_price',2200), för att ställa in priset till 1100 och det totala priset till 2200 med hjälp av rätt sökväg till respektive nyckel i JSON-strängen.
Om du hittar några fel på denna sida eller i innehållet – ett stavfel, ett steg som saknas eller ett tekniskt fel – berätta för oss så att vi kan blir bättre!