2012-04-06 6 views
0

Я видел много разных ответов на этот вопрос и попытался применить их код к моему проекту, но ни одно из этих решений, похоже, не работает для данных, которые у меня есть.создание объекта от JSON

мне нужно, чтобы превратить этот вывод в несколько объектов:

[{ "существо": { "ID": 1, "имя": "RIP", "sprite_location": нулевой, "health_points": 0 , "атака": 0, "защита": 0, "action_points": 0, "attack_cost": 0}}, { "существо": { "ID": 2, "название": "RIP", "sprite_location" : "http://chunkofwhat.com/games/Parousia/sprites/rip.gif", "health_points": 0, "атака": 0, "оборона": 0, "action_points": 0, "attack_cost": 0 }}, { "существо": { "ID": 3, "название": "Bull.", "sprite_location": "http://chunkofwhat.com/games/Parousia/sprites/bull.gif", "health_points ": 50," атака ": 8," защита ": 20," action_points ": 9," attack_cost ": 5}}, {" существо ": {" ID ": 4," название ":". Ласточка» , "sprite_location": "http://chunkofwhat.com/games/Parousia/sprites/swallow.gif", "health_points": 30, "атака": 12, "защита": 10, "action_points": 13,» attack_cost ": 5 }}, { "существо": { "ID": 5, "название": "Каппа", "sprite_location": "http://chunkofwhat.com/games/Parousia/sprites/kappa.gif", "health_points ": 40," атака ": 6," защита ": 15," action_points ": 9," attack_cost ": 3}}, {" существо ": {" ID ": 6," название ": NULL," sprite_location ": null," health_points ": null," attack ": null," defense ": null," action_points ": null," attack_cost ": null}}]

Когда я пытаюсь jQuery.parseJSON(), это просто дает мне кучу объектов [object Object], но я не могу ссылаться на существо [1] .id и т. д.

Опять же, я знаю, что это часто задаваемый вопрос. Я действительно прошел через множество других примеров, но они просто не сработали для меня.

спасибо.

ответ

2

Каждый объект имеет одно свойство (creature) с другим объектом как его ценность.

result_of_parsing_json[1].creature.id 
0

Ваш код выглядит совершенно корректно. Попробуйте this jsfiddle.

var creatures = $.parseJSON(yourJSONString); 

alert(creatures[0].creature.name);​ // alerts "R.I.P" 

Нужны ли какие-либо уточнения?

0
var creatures = JSON.parse('big_json_string'); 

for (var i = 0; i < creatures.length; i++) { 
    var creature = creatures[i].creature; // this is how your object is formatted 

    console.log(creature.name); 
} 

/* 
R.I.P. 
R.I.P. 
Bull. 
Swallow. 
Kappa. 
null 
*/ 

Каждое существо вложен в другой объект, так как это массив объектов (которые содержат существо), вы должны пройти по нему с for петлей, чтобы использовать его.

Ваш синтаксический анализ JSON, скорее всего, был правильным, но логика, которая появилась после этого, не была (при полной догадке).

Смежные вопросы