jQuery undefined从json文件返回

时间:2016-09-18 22:32:23

标签: jquery 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\"]}]"

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

2 个答案:

答案 0 :(得分:1)

您的JSON字符串是一个Object的数组:[{...}]pokemon属性位于Object而不是Array中,因此要访问它,您需要testVar[0].pokemon

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

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

答案 1 :(得分:1)

请勿致电jQuery.parseJSON(data)。当您使用$.getJSON()时,jQuery会自动解析它 - 这是$.get()$.getJSON()之间的区别。