Это код JSON, который генерируется на стороне сервера и отправляется через веб-сокеты клиенту в виде строки:
{
"zw_ob-k7g8ahcvFzAAAA":{
"position":{
"x":319,
"y":135
},
"mass":324,
"name":21,
"color":"#5058a9"
},
"uTFD8dw0OiqD4ErzAAAB":{
"position":{
"x":473,
"y":348
},
"mass":59,
"name":7,
"color":"#e79448"
},
"CvMRJ6rEFYoU1vajAAAC":{
"position":{
"x":25,
"y":604
},
"mass":147,
"name":18,
"color":"#cef6c3"
},
"_e6TLrfubHqf-7esAAAD":{
"position":{
"x":146,
"y":417
},
"mass":320,
"name":13,
"color":"#ab7aa0"
}
}
На клиенте я использую JSON.Parse
для анализа этой строки в структуре json.
planetsData = JSON.parse(data.planets);
for(var p in planetsData){
var playerName = p;
alert(p.position) //says "undefined"
var planetColor = p.color;
var planetName = p.name;
var planet = new Planet();
}
Я могу успешно получить p
, p.color
и p.name
, но по какой-то причине говорится, что p.position
- это undefined
, поэтому я не могу получить доступ к p.position.x
или p.position.y
параметры.