今日のアセット
$25 => $15 40%OFF
UnityでJsonが使えるようになるスクリプトですが、Unity5.3よりJson対応になった為、どのようなメリットがあるか調べてみました。
まずUnity標準から紹介
Unity5.3から追加された標準搭載JSON「JsonUtility」
JSON シリアライズ機能で、オブジェクトを JSON 形式に変換したり、元の形式に戻したりすることができます。この機能は、Web サービスに使用する場合や、データをテキストベースの形式に簡単にパック/アンパックする場合に便利です。
JsonUtility
は(機能は .NET JSON より少ないですが)、よく使用されている .NET JSON よりも著しく早いことが、ベンチマークテストで示されています。
機能的には少ないが、.NET JSONよりパフォーマンスが良好。
注意点としては「Dictionary」と「Hashtable」が使えないことです。これ重要
※どうしてもDictionaryを使いたい人は「MiniJSON」を使おう
Dictionaryだけではなく、制限や機能的に使えない注意点をまとめたサイト
「配列のネストは1つまで」だったり「TransformはMonoBehaviourの派生クラスではない」等、具体的に書かれていてわかりやすいです。必読!
そして「JSON .NET For Unity」を見て比べましょう。
・・・と思い、公式サイトへ行くがドキュメントが見当たらず・・・うーむ(汗
シリアライズとデシリアライズのソースコードと、iOSとWebPlayerの互換性を完全に解消したとあります。
var person =
new
Person();
var serializedPerson = JsonConvert.SerializeObject(person);
var newPerson = JsonConvert.DeserializeObject<Person>(serializedPerson);
購入ユーザーのレビューを見ると「Dictionary」が使えた報告があった。
「JSON .NET For Unity」は「JsonUtility」の機能制限が解消してるかどうかは不明ですが、とにかく人気アセットです。
その理由は2013年12月リリース、当時はJsonがUnityで使えなかったからでしょうね。
Unity5.3以降のユーザーはアップデートで問題ありませんが、5.3以前のユーザーには大変重宝するアセットでしょう。
15ドルの計算結果 (1ドル 104.4235 円)
15ドル は、 1,566円
定価25ドルなら、2,610円