Version: 2023.2
言語: 日本語
public static T FromJson (string json);

パラメーター

json オブジェクトの JSON 表現

戻り値

T オブジェクトのインスタンス

説明

JSON からオブジェクトを作成します。

内部的には、このメソッドは Unity のシリアライザーを使用します。したがって、型を作成している場合はシリアライザーでサポートする必要があります。 Serializable 属性でマークされているプレーンなクラスか構造体でなければなりません。オブジェクトのフィールドはシリアライザーでサポートされるタイプでなければなりません。private フィールドや NonSerialized 属性をマークされるフィールドと同様にサポートされていない型を持つフィールドは無視されます。

Only plain classes and structures are supported; classes derived from UnityEngine.Object (such as MonoBehaviour or ScriptableObject) are not. Note that classes derived from MonoBehaviour or ScriptableObject can be used with JsonUtility.FromJsonOverwrite as an alternative.

JSON に、対応するフィールドの表記がない場合、デフォルトの値が与えられます (すなわち T 型のフィールドの値は default(T) となり、デシリアライズ中に実行されないオブジェクトのコンストラクタのようなフィールドの初期化で与えられる値は適用されません)。

If the input is null or empty, FromJson returns null.

このメソッドの文字列を渡すバージョンは、バックグラウンドスレッドから呼び出されます。テキストアセットを渡すバージョンはメインスレッドから呼び出される必要があります。

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. }

public static object FromJson (string json, Type type);

パラメーター

json オブジェクトの JSON 表現
type JSON で表現されるオブジェクトの型

戻り値

object オブジェクトのインスタンス

説明

JSON からオブジェクトを作成します。

内部的には、このメソッドは Unity のシリアライザーを使用します。したがって、型を作成している場合はシリアライザーでサポートする必要があります。 Serializable 属性でマークされているプレーンなクラスか構造体でなければなりません。オブジェクトのフィールドはシリアライザーでサポートされるタイプでなければなりません。private フィールドや NonSerialized 属性をマークされるフィールドと同様にサポートされていない型を持つフィールドは無視されます。

Only plain classes and structures are supported; classes derived from UnityEngine.Object (such as MonoBehaviour or ScriptableObject) are not. Note that classes derived from MonoBehaviour or ScriptableObject can be used with JsonUtility.FromJsonOverwrite as an alternative.

JSON に、対応するフィールドの表記がない場合、デフォルトの値が与えられます (すなわち T 型のフィールドの値は default(T) となり、デシリアライズ中に実行されないオブジェクトのコンストラクタのようなフィールドの初期化で与えられる値は適用されません)。

このメソッドの文字列を渡すバージョンは、バックグラウンドスレッドから呼び出されます。テキストアセットを渡すバージョンはメインスレッドから呼び出される必要があります。