# JsonGet – Skript- och diagramfunktion

JsonGet() returnerar sökvägen till en JSON-datasträng (JavaScript Object Notation). JSON-data måste vara giltiga, men kan innehålla extra mellanslag eller nya rader.

Syntax:

value JsonGet(json, path)

Returnerad datatyp: dual

Argument

| Argument | Beskrivning |
| --- | --- |
| json | Sträng som innehåller JSON-data. |
| path | Sökvägen måste specificeras enligt [RFC 6901](https://datatracker.ietf.org/doc/html/rfc6901). Det kommer att tillåta sökning av egenskaper inuti JSON-data utan att använda komplexa delsträngar eller indexfunktioner. |

Exempel: giltiga och ogiltiga diagramuttryck

| Exempel | Resultat |
| --- | --- |
| `JsonGet( '{"a":{"xyz":"XYZ"},"b":[123,"abc","ABC"]}', '' )` | Returnerar `{"a":{"xyz":"XYZ"},"b":[123,"abc","ABC"]}` |
| `JsonGet( '{"a":{"xyz":"XYZ"},"b":[123,"abc","ABC"]}', '/a' )` | Returnerar `{"xyz":"XYZ"}` |
| `JsonGet( '{"a":{"xyz":"XYZ"},"b":[123,"abc","ABC"]}', '/a/xyz' )` | Returnerar `"XYZ"` |
| `JsonGet( '{"a":{"xyz":"XYZ"},"b":[123,"abc","ABC"]}', '/b' )` | Returnerar `[123,"abc","ABC"]` |
| `JsonGet( '{"a":{"xyz":"XYZ"},"b":[123,"abc","ABC"]}', '/b/0' )` | Returnerar `123` |
| `JsonGet( '{"a":{"xyz":"XYZ"},"b":[123,"abc","ABC"]}', '/b/1' )` | Returnerar `abc` |
| `JsonGet( '{"a":{"xyz":"XYZ"},"b":[123,"abc","ABC"]}', '/b/2' )` | Returnerar `ABC` |
| `JsonGet( '{"a":"b"}','/b' )` | Returnerar `null`. Sökvägen pekar inte till en giltig del av JSON-datan. |
| `JsonGet( '{"a"}','/a' )` | Returnerar `null`. JSON-data är inte giltig JSON (medlemmen `"a"` har inget värde). |

## Exempel – grunderna i JsonGet

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

#### Diagramuttryck

Översikt

Du får JSON-data med orderinformation som en textsträng på en enda rad. Du vill hämta följande information:

* varans pris och validering av att värdet är ett tal

* kundens e-postadress

* totalpris (pris \* antal)

Öppna dataladdningsredigeraren och lägg till laddningsskriptet nedan i ett nytt delavsnitt.

Laddningsskriptet innehåller:

* En datauppsättning som läses in i en datatabell som heter `Example`.

* Ett fält i datatabellen heter `OrderDetails`.

Laddningsskript

```
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 }'
];
```

Resultat

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:

* `IsJson( JsonGet ( OrderDetails, '/items/price' ), 'number' )` tillsammans med `IsJson`-funktionen hämtar JSON-texten för `price` och bekräftar om värdet för `price` är ett tal.

* `JsonGet( OrderDetails, '/customer/email' )`, för att hämta kundens e-postadress med hjälp av rätt sökväg.

* `JsonGet( OrderDetails, '/total_price' ), )`, för att hämta det totala priset med hjälp av rätt sökväg.

Resultattabell

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

Den första åtgärden returnerar `-1 true` eftersom nyckeln `price` har värdet `1200`, som är ett tal.

Den andra åtgärden returnerar kundens e-postadress, `john.doe@example.com`, från `OrderDetails` med hjälp av rätt sökväg till `email`-nyckeln i JSON-strängen.

Den tredje åtgärden returnerar `2400`, som är det totala priset för ordern från fältet `OrderDetails`, med hjälp av rätt sökväg till nyckeln `total_price` i JSON-strängen.

Se även:

* [IsJson – Skript- och diagramfunktion](https://help.qlik.com/sv-SE/sense/November2025/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/IsJson.htm)

* [JsonSet – Skript- och diagramfunktion](https://help.qlik.com/sv-SE/sense/November2025/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/JsonSet.htm)