Oto kilka dodatkowych prawidłowych przykładów JSON, po jednym na blok:
{}[0]{"__comment":"json doesn't accept comments and you should not be commenting even in this way","avoid!":"also, never add more than one key per line, like this"}[{"why":null}]{"not true":[0,false],"true":true,"not null":[0,1,false,true,{"obj":null},"a string"]}
Tak Niesamowita reprezentacja interfejsu użytkownika
shridutt kothari
Czy JSON musi mieć podwójne cudzysłowy? Próbowałem sprawdzić poprawność ciągu OP powyżej, ale z pojedynczymi cudzysłowami na jsonlint.com i to mówi mi, że jest nieprawidłowy. Ale jest to ważne, gdy używasz podwójnego cudzysłowu.
Ray
@ Promuj jak zwykle, to nie ma prostej odpowiedzi tak lub nie, chociaż powiedziałbym, że to w większości „tak, po prostu idź z podwójnymi cudzysłowami”. json.org mówi nam tylko o stosowaniu podwójnych cudzysłowów, a większość miejsc prawdopodobnie będzie tego przestrzegać. Oto jednak głębsze dochodzenie w tej sprawie: stackoverflow.com/a/2275428/274502
cregox
61
Twój obiekt JSON w tym przypadku jest listą. JSON jest prawie zawsze obiektem z atrybutami; zestaw jednej lub więcej par klucz: wartość, więc najprawdopodobniej zobaczysz słownik:
{"MyStringArray":["somestring1","somestring2"]}
wtedy możesz poprosić o wartość, "MyStringArray"a otrzymasz listę dwóch ciągów, "somestring1"i "somestring2".
Podany przykład kodu jest niepoprawny. Gdy spróbujesz parsować ten ciąg jako plik json, zgłosi błąd / wyjątek. Fakt, że mówisz, że JSON jest zawsze parami klucz / wartość, również jest z natury błędny. Nic w specyfikacji JSON nie mówi, że POTRZEBUJESZ mieć pary klucz / wartość. Mówiąc o transporcie danych, rzeczywiście pary klucz / wartość są najbardziej użyteczną strukturą, ale napis opublikowany przez OP jest całkowicie poprawny JSON: codebeautify.org/jsonviewer/92ac7b
ChrisR
1
Miałem API w mózgu, gdzie chcesz sprawdzić wartość w tablicy opartej na kluczu. Tak byłoby w przypadku nienazwanej tablicy {"1": "somestring1", "2": "somestring2"}
PapaSmurf
41
Zasadniczo tak, JSON to po prostu dosłowna reprezentacja twojej wartości, więc to, co powiedziałeś, jest poprawne.
Całkiem jasne i dobre wyjaśnienie notacji JSON można znaleźć na stronie http://json.org/
Odpowiedzi:
Bardziej szczegółowo opracuję niesamowitą odpowiedź ChrisR i przyniosę obrazy z jego niesamowitej referencji .
Prawidłowy JSON zawsze zaczyna się od nawiasów klamrowych
{
lub nawiasów kwadratowych[
, nic więcej.{
rozpocznie sięobject
:[
rozpocznie sięarray
:I
value
jestobject
,array
,string
,number
,bool
lubnull
:Więc tak,
["a", "b"]
jest to całkowicie poprawny JSON, jakbyś mógł spróbować na link wskazany przez Manisha .Oto kilka dodatkowych prawidłowych przykładów JSON, po jednym na blok:
źródło
Twój obiekt JSON w tym przypadku jest listą. JSON jest prawie zawsze obiektem z atrybutami; zestaw jednej lub więcej par klucz: wartość, więc najprawdopodobniej zobaczysz słownik:
wtedy możesz poprosić o wartość,
"MyStringArray"
a otrzymasz listę dwóch ciągów,"somestring1"
i"somestring2"
.źródło
Zasadniczo tak, JSON to po prostu dosłowna reprezentacja twojej wartości, więc to, co powiedziałeś, jest poprawne.
Całkiem jasne i dobre wyjaśnienie notacji JSON można znaleźć na stronie http://json.org/
źródło
To jest przykład ciągu JSON z
Employee
jako obiekt, a następnie wielu ciągów i wartości w tablicy jako odniesienie do@cregox
...Trochę skomplikowane, ale może wyjaśnić wiele w jednym ciągu JSON.
źródło