2013-03-04 136 views
9

JSON值是字符串,數字,true,false,null是否有效JSON? 即是JSON值是否有效JSON?

true 

一個有效的JSON文件?還是必須是數組/對象?

一些驗證器接受此(例如http://jsonlint.com/),而其他驗證器則不接受(例如http://jsonschemalint.com/)。 RFC和json.org在這個問題上並不清楚。

+0

RFC在這個問題上確實很清楚。 – djechlin 2013-03-04 16:40:10

+0

這已被重新詢問[這裏](http://stackoverflow.com/questions/18419428/what-is-the-minimum-valid-json/18419527),並收到更詳細的答案。我建議將其標記爲重複,並保留較新的問題。 – IMSoP 2013-08-24 14:37:01

回答

8

From the specification

甲JSON文本是序列化對象或陣列

在JSON文本的最外的數據類型,必須爲一個對象或一個陣列,它不能是字符串,布爾值,數字或任何其他數據類型。

+1

雖然這個答案根據官方規範是正確的,但有趣的是JSON.parse(42)似乎可以在瀏覽器中使用。 – bobics 2013-07-03 19:15:04

+1

只是一個技術說明 - 你提到的RFC是「用於JavaScript對象表示法的應用程序/ json媒體類型」。不是這樣的JSON格式。 http://www.json.org/和ECMA-404都沒有聲明(afaik)。我個人覺得奇怪的是[42]是有效的JSON,而簡單的42則不是。 – Elephantik 2014-07-01 13:58:58

+0

請參閱http://stackoverflow.com/questions/19569221/did-the-publication-of-ecma-404-affect-the-validity-of-json-texts-such-as-2-or(注意發佈日期ecma-404和這個答案)。 – Quentin 2014-07-01 14:13:22