从JSON创建对象

I've seen a lot of different answers to this question and have tried applying their code to my project but none of these solutions seem to work for the data I have.

I need to turn this output into several objects:

[{"creature":{"id":1,"name":"R.I.P.","sprite_location":null,"health_points":0,"attack":0,"defense":0,"action_points":0,"attack_cost":0}},{"creature":{"id":2,"name":"R.I.P.","sprite_location":"http://chunkofwhat.com/games/Parousia/sprites/rip.gif","health_points":0,"attack":0,"defense":0,"action_points":0,"attack_cost":0}},{"creature":{"id":3,"name":"Bull.","sprite_location":"http://chunkofwhat.com/games/Parousia/sprites/bull.gif","health_points":50,"attack":8,"defense":20,"action_points":9,"attack_cost":5}},{"creature":{"id":4,"name":"Swallow.","sprite_location":"http://chunkofwhat.com/games/Parousia/sprites/swallow.gif","health_points":30,"attack":12,"defense":10,"action_points":13,"attack_cost":5}},{"creature":{"id":5,"name":"Kappa.","sprite_location":"http://chunkofwhat.com/games/Parousia/sprites/kappa.gif","health_points":40,"attack":6,"defense":15,"action_points":9,"attack_cost":3}},{"creature":{"id":6,"name":null,"sprite_location":null,"health_points":null,"attack":null,"defense":null,"action_points":null,"attack_cost":null}}]

When I try jQuery.parseJSON(), it just gives me a bunch of [object Object]s but I can't refer to creature[1].id etc.

Again, I know this is a frequently asked question. I really have been through many other examples but they just didn't work out for me.

Thank you.

Each object has one property (creature) with another object as it's value.

result_of_parsing_json[1].creature.id

Your code seems perfectly valid. Try this jsfiddle.

var creatures = $.parseJSON(yourJSONString);

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

Do you need any specific clarifications?

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
*/

Each creature is nested within another object, and since it's an array of objects (that contain the creature), you have to iterate over it with a for loop, to make use of it.

Your parsing of the JSON, then, was most likely correct, but the logic that came afterwards was not (at a total guess).