2013-03-04 11 views
9

Czy wartości JSON ciąg, liczba, prawda, fałsz, zero poprawny JSON? To znaczy, jestCzy wartości JSON są poprawne JSON?

true 

ważny dokument JSON? Czy też musi to być tablica/obiekt?

Niektóre weryfikatory akceptują to (np. http://jsonlint.com/), a inne nie (np. http://jsonschemalint.com/). RFC i json.org nie są jasne w tej kwestii.

+0

RFC jest wyraźnie jasne w tej kwestii. – djechlin

+0

Zostało to ponownie zapytane [tutaj] (http://stackoverflow.com/questions/18419428/what-is-the-minimum-valid-json/18419527) i otrzymało bardziej szczegółowe odpowiedzi. Proponuję to zaznaczyć jako duplikat i zachować nowszą kwestię. – IMSoP

Odpowiedz

8

nr From the specification:

JSON tekst jest zserializowanego lub tablica

najbardziej zewnętrzna, typ danych w tekście JSON musi być przedmiotem albo tablicy, nie może być łańcuchem, boolowem, cyfrą ani żadnym innym typem danych.

+1

Podczas gdy ta odpowiedź jest zgodna z oficjalną specyfikacją, warto zauważyć, że JSON.parse (42) działa w przeglądarkach. – bobics

+1

Tylko notatka techniczna - RFC, o którym wspomniałeś, dotyczy "Application/json Media Type for JavaScript Object Notation". Nie dotyczy formatu JSON jako takiego. Ani http://www.json.org/ ani ECMA-404 nie podają tego (afaik). Osobiście uważam za dziwne, że [42] jest prawidłowym JSONem, a proste 42 nie. – Elephantik

+0

Zobacz http://stackoverflow.com/questions/19569221/did-publication-of-ecma-404-affect-the-validity-of-json-texts-such-as-2-or (zwracając uwagę na datę publikacji ecma-404 i ta odpowiedź). – Quentin

Powiązane problemy