JSONParsedState
JSON이 구문 분석되지 않은 경우 0을 반환하고, 구문 분석되었지만 유효하지 않은 경우 -1을 반환하며, 구문 분석되었고 유효하면 JSON 유형을 나타내는 양수를 반환합니다.
포맷
JSONParsedState ( json )
매개 변수
json
- JSON 대상체나 배열을 포함하는 임의의 텍스트 표현식 또는 필드
반환되는 데이터 유형
숫자
다음 버전에서 시작됨
22.0
설명
JSONParsedState는 지정된 JSON이 구문 분석되었는지(그리고 메모리에 이진 표현이 있음)와 JSON이 유효한지 또는 유효하지 않은지 여부를 나타냅니다. 함수에서 반환:
-
JSON이 구문 분석되지 않은 경우(메모리에 이진 표현이 없음) 0을 반환합니다.
-
구문 분석되었지만 유효하지 않은 경우 -1을 반환합니다. 이 JSON이 다른 JSON 함수와 함께 사용되는 경우, "?"를 오류 메시지와 함께 반환합니다.
-
JSON이 유효하고 구문 분석된 경우 1~6을 반환합니다. 값은 JSONSetElement에 정의된 JSON 유형 중 하나에 해당합니다.
JSON 텍스트를 명시적으로 구문 분석하려면 JSONParse 함수를 사용하십시오.
예제 1
-
JSONParse ( "[3]" )
는 유효한 JSON인 경우 입력 JSON을 텍스트로 반환하기 때문에 [3]을 반환합니다. -
Let ( $a = JSONParse ("[3") ; JSONParsedState ($a) )
은 $a가 구문 분석되었지만 유효하지 않은 JSON 배열로 설정되었기 때문에 -1을 반환합니다. -
Let ( $a = "[3]" ; JSONParsedState ($a) )
은 $a가 구문 분석되지 않았기 때문에 0을 반환합니다. -
JSONParsedState ( JSONParse (Pi) )
는 Pi 값이 구문 분석되었지만 유효한 JSON이 아니기 때문에 -1을 반환합니다. -
Let ( $a = JSONSetElement ( "" ; "a" ; "b" ; JSONString ) ; JSONParsedState ($a) )
은 JSONSetElement가 $a에 저장된 구문 분석된 JSON 대상체를 생성했기 때문에 3을 반환합니다. -
Let ( $a = JSONParse ("[3]") ; JSONParsedState ($a) )
은 $a가 구문 분석되었고 JSON 배열을 포함하기 때문에 4를 반환합니다. -
JSONParsedState ( JSONParse ("") )
는 유효하지 않은 JSON인 빈 문자열이 구문 분석되었기 때문에 -1을 반환합니다.
예제 2
Let ( [
a = "[3"; /* 문자열이 잘못된 JSON 배열임 */
b = JSONParse ( a ) ; /* 오류: 입력이 유효하지 않은 JSON임 */
c = JSONParsedState ( a ) ; /* 0: 'a'가 여전히 텍스트뿐임(구문 분석되지 않음) */
d = JSONParsedState ( b ) ; /* -1: 'b'가 구문 분석되었지만 유효하지 않음 */
e = JSONFormatElements ( b ) ; /* 오류: 'b'가 유효하지 않음 */
f = JSONFormatElements ( a ) /* 오류: 'a'의 JSON 텍스트가 유효하지 않음 */
] ;
a &¶& b &¶& c &¶& d &¶& e &¶& f
)
반환 결과:
[3
? * 1행, 3열 배열 선언에서 ',' 또는 ']'이 누락되었습니다. 0 -1 ? * 1행, 3열 배열 선언에서 ',' 또는 ']'이 누락되었습니다. ? * 1행, 3열 배열 선언에서 ',' 또는 ']'이 누락되었습니다
반대로, 변수 a
가 유효한 JSON 배열("[3]")인 경우, 이 예는 다음을 반환합니다.
[3]
[3]
0
4
[ 3 ]
[ 3 ]
다음 차이점에 유의하십시오.
-
2행:
JSONParse ( a )
는 JSONParse에 전달된 원본 텍스트를 반환합니다. -
4행:
JSONParsedState ( b )
변수b
가 파서화되었으며 유효한 JSON 배열임을 반영합니다. -
5행과 6행: JSONFormatElements는
b
의 구문 분석된 JSON과a
의 텍스트 JSON에 대해 포맷된 텍스트를 반환합니다.