2016-09-19 13 views
0

jsonファイルから配列を取得する必要がありますが、どのようにすればいいのかわかりません。jQuery jsonファイルから配列を取得する

は、ここで私はから配列を取得するコードです:私はpokemonAry 1へのインデックスを変更しようとしてい

$.getJSON('saveGames/userID' + userID + '_SAVEALPHA.json', function(data) { 
    console.log("Save data from: userID" + userID + "_SAVEALPHA.json: " + data); 
    var testVar = jQuery.parseJSON(data); 
    var pokemonAryTest = testVar[0].pokemon; 
    pokemonAry = [pokemonAryTest]; 
    console.log("loaded players Pokemon: " + pokemonAry); 
    console.log(pokemonAry[0]) 
}); 

、それはundefinedを返します。インデックスを同じにしておくと、["Pikachu, Charmander"]が返されるので、あたかも文字列のように振る舞います。

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

'pokemonAry'を1つの項目の配列として定義しました。なぜそれが第2のアイテムを持っていると思いますか? – SLaks

+1

PikacuとCharmanderが別々の配列アイテムであると思われる場合は、JSONを '[\" Pikachu \ "、\" Charmander \ "]'にする必要があります。また、あなたの 'pokemonAryTest'変数は*配列*でなければなりません。' pokemonAry = [pokemonAryTest] 'を行うのは意味がありません。 – nnnnnn

答えて

0

あなたはgetJSON()方法JSONデータを解析する必要はありませんを使用している、jQueryのはそれの世話をする:

はここ.jsonです。 :)

$.getJSON('saveGames/userID' + userID + '_SAVEALPHA.json', function(data) { 
    console.log("Save data from: userID" + userID + "_SAVEALPHA.json: " + data); 
    var pokemonAry = data[0].pokemon; 
    console.log("loaded players Pokemon: " + pokemonAry); 
    console.log(pokemonAry[0]) 
}); 
+0

さて、私はこのエラーが発生します:ロードされたプレイヤーポケモン:未定義 game.js:64 Uncaught TypeError:未定義のプロパティ '0'を読み取ることができませんあなたは私が何をしているのか分からない場合、私はポケモン私が上に投稿したjsonの配列 – SeanOMik

関連する問題