source

이 단순한 문자열은 유효한 JSON으로 간주됩니까?

bestscript 2023. 2. 12. 18:07

이 단순한 문자열은 유효한 JSON으로 간주됩니까?

복잡한 구조가 유효한 JSON으로 간주되는지 여부에 대한 복잡한 질문들을 SO에서 많이 봐왔습니다.

하지만 다른 쪽 끝에 있는 것은 어떨까요?

"12345"

위의 JSON이 유효한가요?

네, 대부분의 경우 그렇습니다.JSON 값을 나타내는 유효한 JSON 구문입니다.

이 문제에 대한 혼란은 더글라스 크록포드의 RFC 4627에서 비롯됩니다.이 RFC 4627은 원래 다음과 같이 정의되어 있습니다.application/json2006년 인터넷 미디어 유형.다음과 같이 되어 있습니다.

JSON 텍스트는 직렬화된 개체 또는 배열입니다.

단, Crockford가 2013년 투고에서 설명한 바와 같이 (불행하게도 Google+의 나머지 부분과 함께 삭제되었지만 여기에 보관되었습니다.)

JSON은 그냥 문법이고 문법은 숫자와 문자열을 포함합니다.JSON의 사용은 반드시 보다 제한적일 필요가 있습니다.RFC-4627은 JSON 자체의 표준이 되는 것은 아닙니다.

예제 문자열은 유효한 JSON 값입니다만, 이 값을 JSON 텍스트의 완전한 본문으로서 사용하는 것은 잘못되었을 가능성이 있습니다.application/jsonHTTP 응답단, 이는 더 이상 사실이 아닙니다.RFC-4627은 2014년에 RFC 7159가 발행됨에 따라 폐지되었습니다.이것에 의해, 다음의 임의의 JSON 값을 사용할 수 있습니다.

JSON 텍스트는 시리얼화된 값입니다.JSON의 특정 이전 사양에서는 JSON 텍스트가 객체 또는 배열로 제한되었습니다.

"JSON 자체를 위한 표준"도 2013년에 ECMA-404로 발표되었으며, JSON은 ECMAcript(JavaScript) 사양의 5.1 에디션에도 정의되어 있습니다.이러한 사양과 대부분의 파서는 단순한 문자열이라도 모든 JSON 값을 완전한 JSON 텍스트로 허용합니다.

2014년 현재 RFC 7159는 오래된 JSON RFC를 폐지하고 모든 JSON 값이 유효한 JSON 텍스트 및 유효한 응용 프로그램/json 콘텐츠(문자열 포함)을 선언하고 있습니다.다만, 낡은 JSON 실장과의 비호환성 문제도 지적하고 있습니다.

JSON의 특정 이전 사양에서는 JSON 텍스트가 객체 또는 배열로 제한되었습니다.JSON 텍스트가 호출되는 객체 또는 어레이만 생성하는 구현은 모든 구현이 이를 적합한 JSON 텍스트로 받아들인다는 점에서 상호 운용이 가능합니다.

유효한 JSON 문자열이지만 JSON 개체가 아닙니다.

http://www.json.org/ 를 참조해 주세요.

이 질문이 작성되었을 때는 유효한 JSON 텍스트가 아니었을 것입니다.JSON 텍스트의 일부로 표시될 수 있는 유효한 문자열입니다.

원래 사양은 다음과 같습니다.

JSON 텍스트는 직렬화된 개체 또는 배열입니다.

, 레벨은 …이 되어야 .{} ★★★★★★★★★★★★★★★★★」[]★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★♪

최신 사양은 다음과 같습니다.

JSON 텍스트는 시리얼화된 값입니다.JSON의 특정 이전 사양에서는 JSON 텍스트가 객체 또는 배열로 제한되었습니다.

문자열을한 모든 및 JSON 가 될 수 ."12345"효합니니다다

JSON.parse가 처리할 수 있는 것은 다음과 같습니다.

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse#examples

모두 유효한 JSON:

JSON.parse('{}');              // {}
JSON.parse('true');            // true
JSON.parse('"foo"');           // "foo"
JSON.parse('[1, 5, "false"]'); // [1, 5, "false"]
JSON.parse('null');            // null

언급URL : https://stackoverflow.com/questions/7487869/is-this-simple-string-considered-valid-json