# JsonSet — функция скриптa и диаграммы

JsonSet() изменяет строку, содержащую данные JSON (JavaScript Object Notation). Может задать или вставить значение JSON с указанием нового местоположения в пути. Данные должны быть допустимым кодом JSON, но могут содержать дополнительные пробелы и символы новой строки.

Синтаксис:

value JsonSet(json, path, value)

Возвращаемые типы данных: двойное значение

Аргументы

| Аргумент | Описание |
| --- | --- |
| json | Строка, содержащая данные JSON. |
| path | Путь должен быть указан в соответствии с [RFC 6901](https://datatracker.ietf.org/doc/html/rfc6901). Это позволяет составлять свойства внутри данных JSON без применения сложных функций подстрок и индекса, а также конкатенации. |
| value | Новое значение строки в формате JSON. |

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

#### Пример. Допустимые JSON, путь и значение

| Пример | Результат |
| --- | --- |
| `JsonSet('{}','/a','"b"')` | Возвращает '{"a":"b"}' |
| `JsonSet('[]','/0','"x"')` | Возвращает '["x"]' |
| `JsonSet('"abc"','','123')` | Возвращает 123 |

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

#### Пример. Недопустимый JSON, путь или значение

| Пример | Результат | Описание |
| --- | --- | --- |
| `JsonSet('"abc"','/x','123')` | Возвращает null | Этот путь не указывает на допустимую часть данных JSON. |
| `JsonSet('{"a":{"b":"c"}}','a/b','"x"')` | Возвращает null | Недопустимый путь. |
| `JsonSet('{"a":"b"}','/a','abc')` | Возвращает null | Значение не является допустимым JSON. Строку необходимо заключить в кавычки. |

См. также:

* [IsJson — функция скриптa и диаграммы](https://help.qlik.com/ru-RU/sense/November2024/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/IsJson.htm)

* [JsonGet — функция скриптa и диаграммы](https://help.qlik.com/ru-RU/sense/November2024/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/JsonGet.htm)