我试图从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文件(如果你不知道的话)。
答案 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()
之间的区别。