# JsonSet - 脚本和图表函数

JsonSet() 修改包含 JSON（JavaScript 对象表示法）数据的字符串。它可以使用路径指定的新位置设置或插入 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 - 脚本和图表函数](https://help.qlik.com/zh-CN/sense/November2024/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/IsJson.htm)

* [JsonGet - 脚本和图表函数](https://help.qlik.com/zh-CN/sense/November2024/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/JsonGet.htm)