json | オブジェクトの JSON 表現 |
T オブジェクトのインスタンス
JSON からオブジェクトを作成します。
内部的には、このメソッドは Unity のシリアライザーを使用します。したがって、型を作成している場合はシリアライザーでサポートする必要があります。 Serializable 属性でマークされているプレーンなクラスか構造体でなければなりません。オブジェクトのフィールドはシリアライザーでサポートされるタイプでなければなりません。private フィールドや NonSerialized 属性をマークされるフィールドと同様にサポートされていない型を持つフィールドは無視されます。
プレーンなクラスと構造体だけがサポートされます。 (MonoBehaviour や ScriptableObject などのような) UnityEngine.Object から派生するクラスではないです。
JSON に、対応するフィールドの表記がない場合、デフォルトの値が与えられます (すなわち T 型のフィールドの値は default(T) となり、デシリアライズ中に実行されないオブジェクトのコンストラクタのようなフィールドの初期化で与えられる値は適用されません)。
このメソッドの文字列を渡すバージョンは、バックグラウンドスレッドから呼び出されます。テキストアセットを渡すバージョンはメインスレッドから呼び出される必要があります。
using UnityEngine;
[System.Serializable] public class PlayerInfo { public string name; public int lives; public float health;
public static PlayerInfo CreateFromJSON(string jsonString) { return JsonUtility.FromJson<PlayerInfo>(jsonString); }
// Given JSON input: // {"name":"Dr Charles","lives":3,"health":0.8} // this example will return a PlayerInfo object with // name == "Dr Charles", lives == 3, and health == 0.8f. }
json | オブジェクトの JSON 表現 |
type | JSON で表現されるオブジェクトの型 |
object オブジェクトのインスタンス
JSON からオブジェクトを作成します。
内部的には、このメソッドは Unity のシリアライザーを使用します。したがって、型を作成している場合はシリアライザーでサポートする必要があります。 Serializable 属性でマークされているプレーンなクラスか構造体でなければなりません。オブジェクトのフィールドはシリアライザーでサポートされるタイプでなければなりません。private フィールドや NonSerialized 属性をマークされるフィールドと同様にサポートされていない型を持つフィールドは無視されます。
プレーンなクラスと構造体だけがサポートされます。 (MonoBehaviour や ScriptableObject などのような) UnityEngine.Object から派生するクラスではないです。
JSON に、対応するフィールドの表記がない場合、デフォルトの値が与えられます (すなわち T 型のフィールドの値は default(T) となり、デシリアライズ中に実行されないオブジェクトのコンストラクタのようなフィールドの初期化で与えられる値は適用されません)。
このメソッドの文字列を渡すバージョンは、バックグラウンドスレッドから呼び出されます。テキストアセットを渡すバージョンはメインスレッドから呼び出される必要があります。