이 간단한 문자열이 유효한 JSON으로 간주됩니까?
나는 복잡한 구조가 유효한 JSON으로 간주되는지 여부에 관계없이 많은 복잡한 질문을 보았습니다.
하지만 스펙트럼의 반대편에있는 것은 어떻습니까?
"12345"
위의 유효한 JSON이 있습니까?
예, 대부분의 상황에서 그렇습니다. JSON 값을 나타내는 유효한 JSON 구문입니다.
이에 대한 혼란 은 2006 년에 인터넷 미디어 유형 을 원래 정의한 Douglas Crockford의 RFC 4627 에서 비롯됩니다 application/json.
JSON 텍스트는 직렬화 된 개체 또는 배열입니다.
그러나 Crockford가 2013 년 게시물에서 설명했듯이 ( 안타깝게도 나머지 Google+에서 삭제됨 ) :
JSON은 문법 일 뿐이며 문법에는 숫자와 문자열이 포함됩니다. JSON 사용은 반드시 더 제한적이어야합니다. RFC-4627은 가능한 용도 중 하나로 JSON 자체의 표준이 될 수 없습니다.
예제 문자열은 유효한 JSON 값이지만 application/jsonHTTP 응답 의 전체 "JSON 텍스트"본문으로 사용하는 것은 올바르지 않습니다 . 그러나 이는 더 이상 사실이 아닙니다. RFC-4627은 모든 JSON 값을 사용할 수있는 RFC 7159 의 게시와 함께 2014 년에 폐기되었습니다 .
JSON 텍스트는 직렬화 된 값입니다. 이전의 특정 JSON 사양은 JSON 텍스트를 객체 또는 배열로 제한했습니다.
"JSON 자체에 대한 표준"도 2013 년에 ECMA-404 로 게시되었으며 JSON은 ECMAScript (JavaScript) 사양 ECMA-262 의 버전 5.1에서도 정의되었습니다 . 이러한 사양과 대부분의 파서는 단순한 문자열이더라도 모든 JSON 값을 완전한 JSON 텍스트로 허용합니다.
2014 년부터 RFC 7159는 이전 JSON RFC를 폐기하고 모든 JSON 값이 유효한 JSON 텍스트 및 유효한 애플리케이션 / json 콘텐츠 (문자열 포함) 임을 선언합니다 . 그러나 이전 JSON 구현과의 비 호환성 문제도 지적합니다.
이전의 특정 JSON 사양은 JSON 텍스트를 객체 또는 배열로 제한했습니다. JSON 텍스트가 호출되는 객체 또는 배열 만 생성하는 구현은 모든 구현이이를 준수하는 JSON 텍스트로 허용한다는 점에서 상호 운용 가능합니다.
유효한 JSON 문자열이지만 유효한 JSON 텍스트 (예 : JSON 파일)가 아닙니다.
다음과 같은 JSON 사양 을 참조하십시오 .
JSON 텍스트는 직렬화 된 개체 또는 배열입니다.
따라서 일부 JSON 내에서 사용할 수 있지만 그 자체로는 완전한 JSON 파일이 아닙니다.
(사양이 JSON 파서를 정의한다는 점도 주목할 가치가 있습니다.
JSON 파서는 JSON 텍스트 를 다른 표현으로 변환합니다 .
내 <em>)
두 번째 의견은 JSON Lint를 참조하십시오 .
Parse error on line 1:
"12345"
^
Expecting '{', '['
유효한 JSON 문자열이지만 JSON 객체는 아닙니다.
참고 URL : https://stackoverflow.com/questions/7487869/is-this-simple-string-considered-valid-json
'Program Club' 카테고리의 다른 글
| 위치 : 상대로 항목 중앙 (0) | 2020.12.08 |
|---|---|
| setInterval CPU 집약적입니까? (0) | 2020.12.08 |
| Bootstrap만으로 핀터 레스트와 같은 레이아웃을 만들 수 있습니까? (0) | 2020.12.08 |
| kill 프로세스와 close 프로세스의 차이점은 무엇입니까? (0) | 2020.12.08 |
| CMake에서 여러 실행 파일 추가 (0) | 2020.12.08 |