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 대상체)를 추가한 다음, "[:]" 구문을 사용하여 해당 요소를 배열의 마지막 요소로 참조해 대상체에 다른 키 값 쌍을 추가합니다.
JSONSetElement( "[]"; 
    ["[+].a" ; 5 ; JSONNumber] ; 
    ["[:].b" ; 6 ; JSONNumber]
)[{"a":5,"b":6}]을 반환합니다.
예제 3
JSON 대상체를 다른 JSON 대상체의 요소로 추가합니다. $$JSON 변수가 다음과 같이 설정되어 있는 경우
그런 다음
JSONFormatElements(
   JSONSetElement($$JSON ; "b" ; "{ \"id\" : 14, \"lnk\" : 73 } " ; 
      JSONObject 
   )
)다음을 반환합니다.
예제 4
$$JSON 변수에 저장된 JSON 데이터 예제에서 배열의 첫 번째 "제품" 요소에 있는 "특별 메뉴" 및 "재고" 키 값을 변경합니다.
JSONFormatElements(
   JSONSetElement($$JSON ; 
   [ "제과.제품[0].특별 메뉴" ; 0 ; JSONBoolean ] ; 
   [ "제과.제품[0].재고" ; 0 ; JSONNumber ] 
   )
)$$JSON에 있는 데이터와 동일하지만 "제품" 배열의 첫 번째 요소가 다음으로 변경된 데이터를 반환합니다.