hum-id

Unityからjsonファイルの読み込みと注意点

Windows,UNIX用にビルドすると上手く読んでくれない事が判明しました。
ビルドしても読めるファイルストリームを使った読み方を投稿しました。

Unityに外部ファイルを読み込む text asset がうまく動かない時

Unityでjsonデータを読み込むテスト。
色々調べた結果Litjsonを使って読み込むことにしました。
C#の知識がなく初めてしまったので苦戦しています。

対処療法的な記録なので参考までに。

最小構成

データの読み込み

TextAsset jsonText = Instantiate (Resources.Load (jsonfilename)) as TextAsset;

デシリアライズ
Tdataはjsonのファイルに対応した変数を持つクラス。
2つ以上のセットがある場合クラス名の後に[]をつけないとダメらしい。

jsonString = jsonText.text;
TData[] d = JsonMapper.ToObjec<TData[]>; (jsonString);
dataList.AddRange (d);//TDataのジェネリック型dataListに読み込んだjsonデータを追加する

↓も忘れずに。

using LitJson;
using System.IO;//読み書き. FileStream
using System.Collections.Generic;//ジェネリック(リスト、動的配列)

注意点

以上です。