# JsonGet Script- en diagramfunctie

JsonGet() retourneert het pad van een JSON-gegevensreeks (JavaScript Object Notation). De JSON-gegevens moeten een geldige JSON-string zijn, maar kunnen extra spaties of nieuwe regels bevatten.

Syntaxis:

value JsonGet(json, path)

Retourgegevenstypen: dubbele waarde

Argumenten

| Argument | Beschrijving |
| --- | --- |
| json | Tekenreeks met JSON-gegevens. |
| path | Het pad moet zijn gespecificeerd volgens [RFC 6901](https://datatracker.ietf.org/doc/html/rfc6901). Dit maakt zoeken naar eigenschappen in json-gegevens mogelijk zonder gebruik van complexe subtekenreeks- of indexfuncties. |

Voorbeeld: geldige en ongeldige diagramuitdrukkingen

| Voorbeeld | Resultaat |
| --- | --- |
| `JsonGet( '{"a":{"xyz":"XYZ"},"b":[123,"abc","ABC"]}', '' )` | Retourneert `{"a":{"xyz":"XYZ"},"b":[123,"abc","ABC"]}` |
| `JsonGet( '{"a":{"xyz":"XYZ"},"b":[123,"abc","ABC"]}', '/a' )` | Retourneert `{"xyz":"XYZ"}` |
| `JsonGet( '{"a":{"xyz":"XYZ"},"b":[123,"abc","ABC"]}', '/a/xyz' )` | Retourneert `"XYZ"` |
| `JsonGet( '{"a":{"xyz":"XYZ"},"b":[123,"abc","ABC"]}', '/b' )` | Retourneert `[123,"abc","ABC"]` |
| `JsonGet( '{"a":{"xyz":"XYZ"},"b":[123,"abc","ABC"]}', '/b/0' )` | Retourneert `123` |
| `JsonGet( '{"a":{"xyz":"XYZ"},"b":[123,"abc","ABC"]}', '/b/1' )` | Retourneert `abc` |
| `JsonGet( '{"a":{"xyz":"XYZ"},"b":[123,"abc","ABC"]}', '/b/2' )` | Retourneert `ABC` |
| `JsonGet( '{"a":"b"}','/b' )` | Retourneert `null`. Het pad verwijst niet naar een geldig deel van de JSON-gegevens. |
| `JsonGet( '{"a"}','/a' )` | Retourneert `null`. De JSON-gegevens zijn geen geldige JSON (lid `"a"` bevat geen waarde). |

## Voorbeeld - Basisprincipes voor JsonGet

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/JsonGet.htm)

#### Diagramuitdrukking

Overzicht

U ontvangt JSON-gegevens met bestelgegevens als een teksttekenreeks in een enkele regel. U wilt de volgende informatie ophalen:

* prijs van het item en validatie dat de waarde een getal is

* e-mailadres klant

* totale prijs (prijs \* hoeveelheid)

Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuwe sectie.

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`.

Load-script

```
Example:
Load  *
INLINE [OrderDetails
'{ "order_id": "12345", "customer": { "name": "John Doe", "email": "john.doe@example.com"}, "items": {"product": "Laptop", "quantity": 2, "price": 1200 }, "total_price": 2400 }'
];
```

Resultaten

Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg dit veld toe als dimensie:

* ` OrderDetails
                                   `

Maak de volgende metingen:

* `IsJson( JsonGet ( OrderDetails, '/items/price' ), 'number' )`, in combinatie met de functie `IsJson` haalt de JSON-tekst voor `price` op en valideert dat de waarde van `price` een getal is.

* `JsonGet( OrderDetails, '/customer/email' )` om het e-mailadres van de klant op te halen met behulp van het juiste pad.

* `JsonGet( OrderDetails, '/total_price' ), )` om de totaalprijs op te halen met behulp van het juiste pad.

Resultatentabel

| OrderDetails | IsJson( JsonGet ( OrderDetails, '/items/price' ), 'number' ) | JsonGet( OrderDetails, '/customer/email' ) | JsonGet( OrderDetails, '/total\_price' ), ) |
| --- | --- | --- | --- |
| { "order\_id": "12345", "customer": { "name": "John Doe", "email": "john.doe@example.com"}, "items": {"product": "Laptop", "quantity": 2, "price": 1200 }, "total\_price": 2400 } | -1 (true) | john.doe@example.com | 2400 |

De eerste meting retourneert `-1 true` omdat de `price` sleutel een waarde heeft van `1200`, wat een getal is.

De tweede meting retourneert het e-mailadres van de klant, `john.doe@example.com`, van `OrderDetails` met behulp van het juiste pad naar de `email` sleutel in de JSON-tekenreeks.

De derde meting retourneert `2400`, wat de totale prijs van de bestelling uit het veld `OrderDetails` is, waarbij het juiste pad naar de `total_price` sleutel in de JSON-tekenreeks wordt gebruikt.

Zie ook:

* [IsJson Script- en diagramfunctie](https://help.qlik.com/nl-NL/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/IsJson.htm)

* [JsonSet Script- en diagramfunctie](https://help.qlik.com/nl-NL/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/JsonSet.htm)