# JsonSetEx 스크립트 및 차트 함수

JsonSetEx()는 JSON(JavaScript Object Notation) 데이터가 포함된 문자열을 수정합니다. 경로로 지정된 새로운 위치에 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"} 
```