# JsonGet - Komut dosyası ve grafik fonksiyonu

JsonGet(), bir JSON (JavaScript Object Notation) veri dizesinin yolunu döndürür. Veri, geçerli JSON olmalıdır ancak ek boşluk veya yeni satırlar içerebilir.

Söz Dizimi:

value JsonGet(json, path)

Dönüş verileri türü: dual

Bağımsız Değişkenler

| Bağımsız Değişken | Açıklama |
| --- | --- |
| json | JSON verisi içeren dize. |
| path | Yol [RFC 6901](https://datatracker.ietf.org/doc/html/rfc6901)'e göre belirtilmelidir. Bu, JSON verilerinde karmaşık alt dize veya indeks fonksiyonları kullanmadan özellik aranmasına olanak tanır. |

Örnek: Geçerli ve geçersiz grafik ifadeleri

| Örnek | Sonuç |
| --- | --- |
| `JsonGet( '{"a":{"xyz":"XYZ"},"b":[123,"abc","ABC"]}', '' )` | `{"a":{"xyz":"XYZ"},"b":[123,"abc","ABC"]}` döndürür |
| `JsonGet( '{"a":{"xyz":"XYZ"},"b":[123,"abc","ABC"]}', '/a' )` | `{"xyz":"XYZ"}` döndürür |
| `JsonGet( '{"a":{"xyz":"XYZ"},"b":[123,"abc","ABC"]}', '/a/xyz' )` | `"XYZ"` döndürür |
| `JsonGet( '{"a":{"xyz":"XYZ"},"b":[123,"abc","ABC"]}', '/b' )` | `[123,"abc","ABC"]` döndürür |
| `JsonGet( '{"a":{"xyz":"XYZ"},"b":[123,"abc","ABC"]}', '/b/0' )` | `123` döndürür |
| `JsonGet( '{"a":{"xyz":"XYZ"},"b":[123,"abc","ABC"]}', '/b/1' )` | `abc` döndürür |
| `JsonGet( '{"a":{"xyz":"XYZ"},"b":[123,"abc","ABC"]}', '/b/2' )` | `ABC` döndürür |
| `JsonGet( '{"a":"b"}','/b' )` | `null` döndürür. Yol, JSON verilerinin geçerli bir parçasına işaret etmiyor. |
| `JsonGet( '{"a"}','/a' )` | `null` döndürür. JSON verileri geçerli JSON değil (`"a"` üyesinin bir değeri yok). |

## Örnek - JsonGet temel bilgileri

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

#### Grafik ifadesi

Genel bakış

Sipariş ayrıntılarını içeren JSON verilerini tek bir satırda metin dizesi olarak alırsınız. Aşağıdaki bilgileri almak istiyorsunuz:

* öğenin fiyatı ve değerin bir sayı olduğuna dair doğrulama

* müşteri e-posta adresi

* toplam fiyat (fiyat x miktar)

Veri yükleme düzenleyicisini açın ve aşağıdaki komut dosyasını yeni bir bölüme ekleyin.

Komut dosyası şunları içerir:

* `Example` adlı veri tablosuna yüklenen bir veri kümesi.

* Veri tablosunda `OrderDetails` adında bir alan.

Komut dosyası

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

Sonuçlar

Verileri yükleyin ve bir sayfa açın. Yeni bir tablo oluşturun ve şu alanı boyut olarak ekleyin:

* `OrderDetails`

Aşağıdaki hesaplamaları oluşturun:

* `IsJson( JsonGet ( OrderDetails, '/items/price' ), 'number' )`, `IsJson` fonksiyonuyla birlikte, `price` için JSON metnini alır ve `price` değerinin bir sayı olduğunu doğrular.

* `JsonGet( OrderDetails, '/customer/email' )`, doğru yolu kullanarak müşteri e-posta adresini almak için.

* `JsonGet( OrderDetails, '/total_price' ), )`, doğru yolu kullanarak toplam fiyatı almak için.

Sonuçlar tablosu

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

`price` anahtarında bir sayı olan `1200` değeri olduğundan ilk hesaplama `-1 true` sonucunu döndürür.

İkinci hesaplama, JSON dizesindeki `email` anahtarına giden doğru yolu kullanarak `OrderDetails` kaynağından `john.doe@example.com` müşteri e-posta adresini döndürür.

Üçüncü hesaplama, JSON dizesindeki `total_price` anahtarına giden doğru yolu kullanarak `OrderDetails` alanından siparişin toplam fiyatı olan `2400` öğesini döndürür.

Ayrıca bk.

* [IsJson - Komut dosyası ve grafik fonksiyonu](https://help.qlik.com/tr-TR/sense/November2025/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/IsJson.htm)

* [JsonSet - Komut dosyası ve grafik fonksiyonu](https://help.qlik.com/tr-TR/sense/November2025/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/JsonSet.htm)