sesuai perdebatan di posting ini: json-conversion-in-javascript
sesuai perdebatan di posting ini: json-conversion-in-javascript
Jawaban:
Ya, array legal sebagai teks JSON tingkat atas.
Ada tiga dokumen standar yang mendefinisikan JSON: RFC 4627 , RFC 7159 (yang menggantikan RFC 4627), dan ECMA-404 . Mereka berbeda dalam elemen tingkat atas yang mereka izinkan, tetapi semua mengizinkan objek atau larik sebagai elemen tingkat atas.
Ya , tetapi Anda harus mempertimbangkan untuk menjadikan root sebagai objek dalam beberapa skenario, karena pembajakan JSON . Ini adalah kerentanan pengungkapan informasi berdasarkan penggantian konstruktor array di JavaScript.
Ini dari spesifikasi ECMAScript.
JSONText: JSONValue JSONValue: JSONNullLiteral JSONBooleanLiteral JSONObject JSONArray JSONString JSONNumber
Ada beberapa kebingungan, terlihat di komentar lain. Jenis media "application / json" hanya mengizinkan objek atau larik di tingkat atas untuk teks JSON , sesuai dengan JSON RFC . Namun, untuk parser, nilai JSON apa pun dapat diterima, seperti yang terlihat dalam spesifikasi ECMAScript.