JSONSetElement
대상체 이름, 배열 인덱스 또는 경로로 지정된 JSON 데이터에 요소를 추가하거나 수정합니다.
포맷
JSONSetElement(json ; 키 또는 인덱스 ; 값 ; 유형)
매개 변수
json
- JSON 대상체나 배열을 포함하는 임의의 텍스트 표현식 또는 필드
키 또는 인덱스 또는 경로
- JSON 대상체 이름(키), 배열 인덱스 또는 경로를 지정하는 임의의 텍스트 표현식 또는 필드 JSON 함수 작업하기를 참조하십시오.
값
- 숫자, 텍스트 또는 JSON 데이터를 포함하는 임의의 표현식 또는 필드.
유형
- 설정할 데이터 유형을 지정하는 숫자 값(아래 참조).
반환되는 데이터 유형
텍스트
다음 버전에서 시작됨
16.0
설명
이 함수는 지정된 키 또는 인덱스 또는 경로
에 값
이 있는 json
을 반환합니다. json
매개 변수가 비어 있는 경우(""), 키 또는 인덱스 또는 경로
매개 변수의 첫 부분이 "[" 문자로 시작하지 않으면 이 함수는 JSON 대상체({ } 괄호 안)에 값
을 추가합니다. 그러한 경우에 이 함수는 값
을 JSON 배열([ ] 괄호 안)에 추가합니다.
유형
매개 변수의 경우, 다음 값 중 하나를 사용하십시오. 값
이 json
에 추가되면, 유형
매개 변수는 값
을 특정 JSON 유형으로 변환할지 또는 유형을 변경하지 않고 값
을 삽입할지 지정합니다.
|
|
출력 유형 |
|
FileMaker 텍스트 |
JSON 문자열(" ") |
|
FileMaker 숫자 |
JSON 숫자 |
|
JSON 대상체 |
JSON 대상체({ }) |
|
JSON 배열 |
JSON 배열([ ]) |
|
FileMaker 값 또는 JSON 부울 값 |
JSON 부울 |
|
유형이 무시됩니다 |
JSON null |
|
JSON 요소 |
JSON 요소(또는 |
-
괄호에 있는 이름이 있는 상수 또는 숫자 값을 인용 부호 없이 사용하여
유형
을 지정할 수 있습니다(예:JSONString
또는 1).
JSONBoolean
을 사용할 때, 값
이 true
이거나 0이 아닌 숫자인 경우 true로 처리되며 값
이 false
또는 0인 경우 false로 처리됩니다. 그렇지 않은 경우 값
이 true인지 false인지 여부는 If 함수의 테스트
매개 변수와 동일한 방법으로 결정됩니다.
JSONRaw
를 사용할 때, JSON 파서는 값이 유효한 구문을 사용하는지 확인하기 위해 값
을 처리합니다. 값
이 유효한 JSON인 경우, 아무 요소도 JSON 데이터 유형으로 변환하지 않고 분석 결과가 이 함수의 반환 값에 사용됩니다. 값
의 첫 번째 JSON 요소 뒤에 있는 모든 문자는 무시됩니다(예: 값
이 "4,2"인 경우 쉼표는 JSON 구문에서 요소 구분자이기 때문에 "4"만 삽입됨). 값
이 유효한 JSON이 아닌 경우, 값
은 반환된 값에서 JSON 문자열로 변환됩니다.
각 요소를 [ ] 괄호로 묶은 키 또는 인덱스 또는 경로
, 값
및 유형
매개 변수 세트를 추가로 제공하여 여러 요소를 구성할 수 있습니다. 다음 구문은 N 요소를 한번에 구성합니다.
JSONSetElement(json ;
[ 키 또는 인덱스 또는 경로1 ; 값1 ; 유형1 ] ;
[ 키 또는 인덱스 또는 경로2 ; 값2 ; 유형2 ] ;
...
[ 키 또는 인덱스 또는 경로N ; 값N ; 유형N ] ;
)
예제 1
JSON 대상체의 루트에 키와 키값을 추가합니다.
JSONSetElement("{ \"a\" : 11 }" ; "b" ; 22.23 ; JSONNumber)
는 {"a":11,"b":22.23}을 반환합니다.
예제 2
JSON 대상체를 다른 JSON 대상체의 요소로 추가합니다. $$JSON 변수가 다음과 같이 설정되어 있는 경우
그런 다음
JSONFormatElements(
JSONSetElement($$JSON ; "b" ; "{ \"id\" : 14, \"lnk\" : 73 } " ;
JSONObject
)
)
다음을 반환합니다.
예제 3
$$JSON 변수에 저장된 JSON 데이터 예제에서 배열의 첫 번째 "제품" 요소에 있는 "특별 메뉴" 및 "재고" 키 값을 변경합니다.
JSONFormatElements(
JSONSetElement($$JSON ;
[ "제과.제품[0].특별 메뉴" ; 0 ; JSONBoolean ] ;
[ "제과.제품[0].재고" ; 0 ; JSONNumber ]
)
)
$$JSON에 있는 데이터와 동일하지만 "제품" 배열의 첫 번째 요소가 다음으로 변경된 데이터를 반환합니다.