Unity の JSON のパース方法(JsonUtility)

botman_orange Unity

UnityHub-2.4.3 Unity-2020.3.6f1

はじめに

Unity での JSON パース方法についてです。すこし制約があるみたいですが JsonUtility がよさそうです。

JsonUtility ドキュメント

使い方

使い方はめっちゃ簡単!下記のように [System.Serializable] をつけるだけ!

色々なJSON

オプショナル

JSON に num のキーが存在しない場合、下記のように 0 が設定されました。

その他いろいろやってみました。

string のキーなしのときだけ null になりました。

入れ子

Serializable アノテーションをつけたクラスのプロパティに Serializable アノテーションをつけたクラスを利用できます。

null の場合。

下記のように配列もあつかえます。

null の場合。

プロパティ名とキー名が違う場合

下記のように JSON のキーと異なるプロパティ名にしたい場合、ちょっとめんどうなことをしないといけないようです。

おわりに

キーとプロパティが違うときだけめんどくさそうですが他のに比べると動作が速いらしいのでとりあえず JsonUtlity を使えばいいのかなと思います。制限があるらしいですがこれだけできればたいていの場合は問題ないと思います!(エラーハンドリングどうするんだろ?)

参考

コメント

タイトルとURLをコピーしました