json | 对象的 JSON 表示形式。 |
T 对象的实例。
通过 JSON 表示形式创建对象。
在内部,此方法使用 Unity 序列化器;因此创建的类型必须受序列化器支持。它必须是使用 Serializable 属性标记的普通类/结构。对象的字段必须具有序列化器支持的类型。类型不受支持的字段以及私有字段或使用 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.
此方法采用字符串的版本可以从后台线程进行调用。采用 TextAsset 的版本必须从主线程进行调用。
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 属性标记的普通类/结构。对象的字段必须具有序列化器支持的类型。类型不受支持的字段以及私有字段或使用 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) - 不会向它提供任何作为字段初始化函数指定的值,因为对象的构造函数在反序列化过程中不会执行)。
此方法采用字符串的版本可以从后台线程进行调用。采用 TextAsset 的版本必须从主线程进行调用。