# JsonSetEx - Script- en diagramfunctie

JsonSetEx() wijzigt tekenreeksen die JSON-gegevens (JavaScript Object Notation) bevat. Het kan JSON-waarden instellen of invoegen met de nieuwe locatie die is opgegeven door het pad. De JSON-gegevens moeten een geldige JSON zijn, maar kunnen extra spaties of nieuwe regels bevatten.

InformatieU kunt een willekeurig aantal naam-waardeparen toevoegen met JsonSetEx.

Syntaxis:

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

Retourgegevenstypen: dubbele waarde

Argumenten

| Argument | Beschrijving |
| --- | --- |
| json | Tekenreeks met JSON-gegevens. |
| path | Het pad moet zijn gespecificeerd volgens [RFC 6901](https://datatracker.ietf.org/doc/html/rfc6901). Dit maakt opbouwen van eigenschappen in json-gegevens mogelijk zonder gebruik van complexe subtekenreeks- of indexfuncties en aaneenschakeling. |
| value | De nieuwe tekenreekswaarde in JSON-indeling. |

Voorbeeld:

Met het volgende load-script worden gegevens geladen en geformatteerd in een JSON‑indeling.

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

Dit resulteert in de volgende tabel met JSON‑gegevens:

```
{"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"} 
```