unity用json序列化scriptableobject文件存储再反序列化读取
时间: 2023-05-15 15:06:04 浏览: 133
可以使用JsonUtility类来进行序列化和反序列化,示例代码如下:
// 定义一个ScriptableObject类
[System.Serializable]
public class MyScriptableObject : ScriptableObject
{
public int id;
public string name;
}
// 序列化ScriptableObject对象到json文件
MyScriptableObject obj = ScriptableObject.CreateInstance<MyScriptableObject>();
obj.id = 1;
obj.name = "test";
string json = JsonUtility.ToJson(obj);
File.WriteAllText(Application.dataPath + "/test.json", json);
// 从json文件中反序列化ScriptableObject对象
string json2 = File.ReadAllText(Application.dataPath + "/test.json");
MyScriptableObject obj2 = JsonUtility.FromJson<MyScriptableObject>(json2);
// 输出反序列化后的对象属性
Debug.Log(obj2.id);
Debug.Log(obj2.name);
注意:需要将ScriptableObject类标记为[System.Serializable],并且只有public字段才能被序列化和反序列化。