# JsonSetEx - 脚本和图表函数

JsonSetEx() 修改包含 JSON（JavaScript 对象表示法）数据的字符串。它可以使用路径指定的新位置设置或插入 JSON 值。数据必须是有效的 JSON，但可以包含额外的空格或换行符。

信息注释您可以使用 JsonSetEx 添加任意数量的名称-值对。

语法：

JsonSetEx(json, path, value, ...)

返回数据类型： 双

参数：

参数

| 参数 | 描述 |
| --- | --- |
| json | 包含 JSON 数据的字符串。 |
| path | 必须根据 [RFC 6901](https://datatracker.ietf.org/doc/html/rfc6901) 指定路径。这允许在 JSON 数据中构建属性，而无需使用复杂的子字符串或索引函数以及串联。 |
| value | JSON 格式的新字符串值。 |

示例：

以下加载脚本将数据加载并格式化为 JSON 格式：

```
Data:
Load *,
	JsonSetEx('{"fax":123}',
		'/name', Name,
		'/address', Address,
		'/phone', Phone,
		'/fax', FaxOrNull) AS Json;

LOAD *, If(Fax='-',Null(),Fax) AS FaxOrNull;

LOAD * INLINE [
	Id, Name,       Address,     Phone,     Fax
	1,  John Doe,   Oak Way,   1 234 567, 1 234 568
	2,  Jane Doe, Maple Way, 123456,    -
	3,  Mr Xavier,       Spruce Way,   1-800-MRX
]; 
```

由此得到了以下 JSON 数据：

```
{"name":"John Doe","address":"Oak Way","phone":"1 243 567","fax":"1 234 568"}
{"name":"Jane Doe","address":"Maple Way","phone":123456}
{"fax":"","name":"Mr Xavier","address":"Spruce Way","phone":"1-800-MRX"} 
```