Mam zmienną:
var value=[
{"0","0",650,"0","0",357,"0","0","0","0",200,"0",48,"0",3053,"0","0","0","0","0",45,50}
,{"0","0",299,101,"0",126,"0","0","0","0",630,"0","0",88,3157,"0","0","0","0","0",10,21}
,{"0","0",123,3030,"0",368,"0","0","0","0","0","0",76,-44,1967,"0","0","0","0","0",29,64}
,{"0","0",88,343,"0",320,"0","0","0","0","0","0",175,"0",336,"0","0","0","0","0",21,98}
,{"0","0",503,410,"0",1127,"0","0","0","0","0","0",77,87,1264,"0","0","0","0","0",5,128}
,{"0","0",1754,607,40,2565,"0","0","0","0","0","0",102,70,12506,"0","0","0","0","0",178,1966}
,{"0","0","0","0",60,153,"0","0","0","0","0","0","0","0","0","0","0","0","0","0",15,"0"}
]
var result= JSON.parse(value);
Kiedy parsuję go w javacriptu jako JSON, pojawia się błąd:
Uncaught SyntaxError: nieoczekiwany token,
Odpowiedzi:
1 dla odpowiedzi № 1Obiekty w JSON są reprezentowane przez {}
. Obiekt ma kluczowa wartość pary. Na przykład:
{
"foo": "bar",
"example: "something",
"key": "value"
}
Tablice w JSON są reprezentowane przez []
. Oni są lista liczb, łańcuchów, obiektów itp. Na przykład:
[
"foo",
"bar",
"something",
"example"
]
Problem polega na tym, że używasz {}
dla tablicy. Spróbuj zmienić JSON na:
[
["0","0",650,"0","0",357,"0","0","0","0",200,"0",48,"0",3053,"0","0","0","0","0",45,50,["0","0",299,101,"0",126,"0","0","0","0",630,"0","0",88,3157,"0","0","0","0","0",10,21],["0","0",123,3030,"0",368,"0","0","0","0","0","0",76,-44,1967,"0","0","0","0","0",29,64],["0","0",88,343,"0",320,"0","0","0","0","0","0",175,"0",336,"0","0","0","0","0",21,98],["0","0",503,410,"0",1127,"0","0","0","0","0","0",77,87,1264,"0","0","0","0","0",5,128],["0","0",1754,607,40,2565,"0","0","0","0","0","0",102,70,12506,"0","0","0","0","0",178,1966],["0","0","0","0",60,153,"0","0","0","0","0","0","0","0","0","0","0","0","0","0",15,"0"]
]
Ponadto w JavaScript JSON jest domyślną notacją obiektową, więc nie musisz dzwonić JSON.parse
chyba że Twój JSON jest reprezentowany jako ciąg znaków.
0 dla odpowiedzi nr 2
Obiekty w JavaScript nie mogą być prezentowane w taki sposób:
{"0","0",650,"0","0",357,"0","0","0","0",200,"0",48,"0",3053,"0","0","0","0","0",45,50}
Prezentacja obiektu powinna mieć następujący format:
{property_name : property_value, ... : ... , ... }
JSON.parse
oczekuje ":"
, ale dostałem ","
.