Berikut adalah beberapa contoh JSON ekstra valid, satu per 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"]}
Apakah JSON harus memiliki tanda kutip ganda? Saya mencoba untuk memvalidasi string OP di atas tetapi dengan tanda kutip tunggal di jsonlint.com dan memberitahu saya itu tidak valid. Tapi itu berlaku ketika menggunakan tanda kutip ganda.
Ray
@ Ray seperti biasa, itu tidak memiliki jawaban ya atau tidak yang sederhana, meskipun saya akan mengatakan itu sebagian besar "ya, pergi saja dengan tanda kutip ganda". json.org hanya memberi tahu kita tentang penggunaan tanda kutip ganda, dan sebagian besar tempat mungkin akan mengikuti itu. Namun, inilah penyelidikan yang lebih mendalam tentang hal ini: stackoverflow.com/a/2275428/274502
cregox
61
Objek JSON Anda dalam hal ini adalah daftar. JSON hampir selalu merupakan objek dengan atribut; satu set kunci atau lebih: pasangan nilai, sehingga kemungkinan besar Anda melihat kamus:
{"MyStringArray":["somestring1","somestring2"]}
maka Anda dapat meminta nilai "MyStringArray"dan Anda akan mendapatkan kembali daftar dua string, "somestring1"dan"somestring2" .
Contoh kode yang Anda posting tidak valid, ketika Anda akan mencoba mengurai string itu sebagai json, ia akan menampilkan kesalahan / pengecualian. Fakta Anda mengatakan bahwa JSON selalu pasangan kunci / nilai juga secara inheren salah. Tidak ada dalam spesifikasi JSON yang mengatakan Anda PERLU untuk memiliki pasangan kunci / nilai. Ketika berbicara tentang transport data, memang pasangan kunci / nilai adalah struktur yang paling berguna tetapi string yang diposting OP benar-benar valid JSON: codebeautify.org/jsonviewer/92ac7b
ChrisR
1
Saya punya API di otak, di mana Anda ingin mencari nilai dalam array berdasarkan kunci. Jadi, untuk array tanpa nama, {"1": "somestring1", "2": "somestring2"}
PapaSmurf
41
Pada dasarnya ya, JSON hanyalah representasi javascript literal dari nilai Anda sehingga apa yang Anda katakan benar.
Anda dapat menemukan penjelasan yang cukup jelas dan bagus tentang notasi JSON di http://json.org/
Jawaban:
Saya akan menguraikan sedikit lebih lanjut tentang jawaban luar biasa ChrisR dan membawa gambar dari referensi yang mengagumkan .
JSON yang valid selalu dimulai dengan kurung kurawal
{
atau kurung siku[
, tidak ada yang lain.{
akan memulaiobject
:[
akan memulaiarray
:Dan
value
adalahobject
,array
,string
,number
,bool
ataunull
:Jadi ya,
["a", "b"]
adalah JSON yang benar-benar valid, seperti Anda bisa mencoba pada tautan yang ditunjukkan Manish .Berikut adalah beberapa contoh JSON ekstra valid, satu per blok:
sumber
Objek JSON Anda dalam hal ini adalah daftar. JSON hampir selalu merupakan objek dengan atribut; satu set kunci atau lebih: pasangan nilai, sehingga kemungkinan besar Anda melihat kamus:
maka Anda dapat meminta nilai
"MyStringArray"
dan Anda akan mendapatkan kembali daftar dua string,"somestring1"
dan"somestring2"
.sumber
Pada dasarnya ya, JSON hanyalah representasi javascript literal dari nilai Anda sehingga apa yang Anda katakan benar.
Anda dapat menemukan penjelasan yang cukup jelas dan bagus tentang notasi JSON di http://json.org/
sumber
Ini adalah contoh string JSON dengan
Employee
sebagai objek, lalu beberapa string dan nilai dalam array sebagai referensi@cregox
...Agak rumit tapi bisa menjelaskan banyak dalam satu string JSON.
sumber