# JsonSet funkcja skryptu i funkcja wykresu

JsonSet() modyfikuje ciąg zawierający dane JSON (JavaScript Object Notation). Może ustawić lub wstawić wartość JSON z nową lokalizacją określoną przez ścieżkę. Dane JSON muszą mieć poprawny format JSON, ale mogą zawierać dodatkowe spacje i znaki nowego wiersza.

InformacjaZa pomocą JsonSet można dodać dowolną liczbę par nazwa-wartość.

Składnia:

value JsonSet(json, path, value)

Typ zwracanych danych: wartość podwójna

Argumenty

| Argument | Opis |
| --- | --- |
| json | Ciąg zawierający dane JSON. |
| path | Ścieżka musi spełniać warunki normy [RFC 6901](https://datatracker.ietf.org/doc/html/rfc6901). Umożliwia to budowanie właściwości w danych w formacie JSON bez użycia skomplikowanych funkcji operujących na fragmentach tekstu lub indeksujących oraz instrukcji konkatenacji. |
| value | Nowa wartość ciągu w formacie JSON. |

Przykład: prawidłowe i nieprawidłowe wyrażenia wykresu

| Przykład | Wynik |
| --- | --- |
| `JsonSet( '{}','/a','"b"' )` | Zwraca wartość `{"a":"b"}` |
| `JsonSet( '[]','/0','"x"' )` | Zwraca wartość `["x"]` |
| `JsonSet( '"abc"','','123' )` | Zwraca wartość `123` |
| `JsonSet( '"abc"','/x','123' )` | Zwraca wartość `null`. Ścieżka nie wskazuje prawidłowej części danych w formacie JSON. |
| `JsonSet( '{"a":{"b":"c"}}','a/b','"x"' )` | Zwraca wartość `null`. Nieprawidłowa ścieżka. |
| `JsonSet( '{"a":"b"}','/a','abc' )` | Zwraca wartość `null`. Nieprawidłowy format JSON wartości. Ciąg musi być ujęty w cudzysłów. |

## Przykład — podstawy JsonSet

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

#### Wyrażenie wykresu

Przegląd

Dane JSON są odbierane jako ciąg tekstowy w jednym wierszu. Chcesz odpowiednio zaktualizować cenę artykułu i łączną cenę zamówienia.

Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej sekcji.

Skrypt ładowania zawiera:

* Zestaw danych załadowany do tabeli o nazwie `Example`.

* Jedno pole w tabeli danych o nazwie `OrderDetails`.

Skrypt ładowania

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

Wyniki

Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj to pole jako wymiar:

* ` OrderDetails
                                   `

Utwórz następującą miarę:

* `JsonSet(JsonSet(OrderDetails,'/items/price',1100),'/total_price',2200)` do ustawienia ceny na `1100` i ceny całkowitej na `2200`, używając poprawnej ścieżki do odpowiednich kluczy w łańcuchu JSON.

Tabela wynikowa

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

Wynik miary aktualizuje klucze `price` i `total price` odpowiednio do `1100` i `2200`.

Zob. także:

* [IsJson funkcja skryptu i funkcja wykresu](https://help.qlik.com/pl-PL/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/IsJson.htm)

* [JsonGet funkcja skryptu i funkcja wykresu](https://help.qlik.com/pl-PL/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/JsonGet.htm)