2013-03-04 16 views
9

I valori JSON sono stringa, numero, vero, falso, JSON valido nullo? cioè èI valori JSON sono validi JSON?

true 

un documento JSON valida? O deve essere un array/oggetto?

Alcuni validatori accettano questo (ad esempio http://jsonlint.com/), mentre altri no (ad esempio http://jsonschemalint.com/). RFC e json.org non sono chiari su questo problema.

+0

La RFC è davvero chiara su questo problema. – djechlin

+0

Questo è stato chiesto nuovamente [qui] (http://stackoverflow.com/questions/18419428/what-is-the-minimum-valid-json/18419527) e ha ricevuto risposte più dettagliate. Propongo che questo sia contrassegnato come duplicato e la nuova domanda mantenuta. – IMSoP

risposta

8

No. From the specification:

Un JSON testo è un oggetto serializzato o matrice

The-più esterno tipo di dati in un testo JSON deve essere un oggetto o un array, non può essere una stringa, booleana, numero o qualsiasi altro tipo di dati.

+1

Mentre questa risposta è corretta secondo le specifiche ufficiali, è interessante notare che JSON.parse (42) sembra funzionare nei browser. – bobics

+1

Solo una nota tecnica: la RFC che hai citato è per "L'applicazione/json Media Type per JavaScript Object Notation". Non per il formato JSON in quanto tale. Né http://www.json.org/ né ECMA-404 lo affermano (afaik). Personalmente trovo strano che [42] sia JSON valido e il 42 semplice no. – Elephantik

+0

Vedere http://stackoverflow.com/questions/19569221/did-the-publication-of-ecma-404-affect-the-validity-of-json-texts-such-as-2-or (prendendo nota della data di pubblicazione di ecma-404 e questa risposta). – Quentin

Problemi correlati