2017-08-01 10 views
1

Json.Utilitiesを使用してGameInfo.jsonファイルをList配列に変換しようとしています。そして、私はこのListデータを操作したいと思います。
私のアイテムはここ5つのコンポーネント(日付、tournamentname、POS、ラウンド、総得点) で構成さは、私のJSONファイル(GameInfo.json)であるJsonUtilityを使用してJsonファイルをListに変換します。[Unity] [C#]

{"Items": 
    [ 
     { 
     "date":"11/06/16", 
     "tournamentName":"Shriners Hospitals for Children Open", 
     "pos":"2", 
     "rounds":"62 67 70 67 --", 
     "totalScore":"288" 
     }, 

     { 
     "date":"11/06/16", 
     "tournamentName":"Shriners Hospitals for Children Open", 
     "pos":"2", 
     "rounds":"62 67 70 67 --", 
     "totalScore":"288" 
     }  
] 
} 

ゲーム情報クラス5件のデータが含まれるとしてGameInfolistクラスは次のようになりますリスト構造を作るのに使う。 GameInfo.jsonファイルはGameInfoに変換されます。 ゲーム情報は、unity.utilitiesを使用して文字列型(jsonstring) として保存されます。データを操作するために文字列データをリストに格納しようとします。 しかし、foreachループに到達できません(Debug.Logメッセージが表示されません)。 私の問題を解決するお手伝いをしてください。読んでいただきありがとうございます。

+0

):

gameInfoList = JsonUtility.FromJson<GameInfoList>(jsonstring); 

私はJSON文字列のみがこのようGameInfoListをオブジェクトに変換することができますことを考えますgameinfo.list [0] .dateなどが正しい場合は、foreachブロックの前にデバッグしてStart()が実行されているかどうかを確認します。 – Nico

+0

私はDebug.Log(gameinfo.list [0] .date)を実行しましたが、次のメッセージが表示されます –

+0

ArgumentOutOfRangeException:引数が範囲外です。 パラメータ名:index System.Collections.Generic.List'1 [GameInfo] .get_Item(Int32 index)(/Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Collections.Generic/List) .cs:633) JsonDataConverter.Awake()(Assets/JsonDataConverter.cs:43) –

答えて

2

「引数が範囲外です」とは、「gameInfoList」がnullに等しいことを意味します。問題はこの行にあったと思います。チェックするために、私はU3Dとそれほど慣れていないけど、私はあなたが目を覚まし(の終わりにデバッグすることができると思い

[System.Serializable] 
public class GameInfoList 
{ 
    public List<GameInfo> Items; 
} 
関連する問題