jQuery undefined从json文件返回

我正在尝试从json获取一个数组但是当我尝试获取该数据时它返回’undefined’

这是我试图获取数据的地方:

$.getJSON('saveGames/userID' + userID + '_SAVEALPHA.json', function(data) { console.log("Got data from saveJSON: " + data); var testVar = jQuery.parseJSON(data); console.log(testVar); playersPokemon = testVar.pokemon; console.log(testVar.pokemon); console.log("Players Pokemon: " + playersPokemon); }); 

json文件(由PHP生成)

 "[{\"userID\":\"1\",\"saveName\":\"h\",\"pokemon\":[\"Pikachu\",\"Charmander\"]}]" 

我使用了jsonvalidation器来检查这个文件,它没问题。 我试图用jQuery访问这个json文件(如果你不知道)。

你的JSON字符串是一个Object的数组: [{...}]pokemon属性在Object而不是Array中,所以要访问它你需要testVar[0].pokemon

或者,如果可能,您可以从JSON文件中删除括号:

"{\"userID\":\"1\",\"saveName\":\"h\",\"pokemon\":[\"Pikachu\",\"Charmander\"]}"

不要调用jQuery.parseJSON(data) 。 当你使用$.getJSON() ,jQuery会自动解析它 – 这就是$.get()$.getJSON()之间的区别。