이 게시물의 토론에 따라 : json-conversion-in-javascript
이 게시물의 토론에 따라 : json-conversion-in-javascript
답변:
예, 배열은 최상위 JSON 텍스트로 합법적입니다.
JSON을 정의하는 세 가지 표준 문서는 RFC 4627 , RFC 7159 (RFC 4627 폐기 됨) 및 ECMA-404 입니다. 허용하는 최상위 요소가 다르지만 모두 최상위 요소로 객체 또는 배열을 허용합니다.
예 ,하지만 JSON 하이재킹 으로 인해 일부 시나리오에서 대신 루트를 객체로 만드는 것을 고려해야합니다 . 이것은 JavaScript의 배열 생성자 재정의를 기반으로 한 정보 유출 취약점입니다.
이것은 ECMAScript 사양에서 가져온 것입니다.
JSONText : JSONValue JSONValue : JSONNullLiteral JSONBooleanLiteral JSONObject JSONArray JSONString JSONNumber
다른 의견에서 볼 수 있듯이 약간의 혼란이 있습니다. "application / json"미디어 유형은 JSON RFC에 따라 JSON 텍스트에 대해 최상위 수준의 객체 또는 배열 만 허용합니다 . 그러나 파서의 경우 ECMAScript 사양에서 볼 수 있듯이 모든 JSON 값이 허용됩니다.