Unity学习使用Json长久储存ScriptableObject数据

Posted 努力码代码走上人生巅峰

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity学习使用Json长久储存ScriptableObject数据相关的知识,希望对你有一定的参考价值。

代码如下,其中形参data一般为ScriptableObject数据:

using System.IO;
using System.Text;
using UnityEngine;

public static class DataManager


    public static void Save(object data, string url)
    
        var jsonData = JsonUtility.ToJson(data, true);
        StreamWriter streamWriter = null;
        try
        
            if (!File.Exists(url))
            
                File.Create(url).Dispose();
            
            if (File.Exists(url))
            
                streamWriter = new StreamWriter(url);
                streamWriter.WriteLine(jsonData);
                streamWriter.Close();
                streamWriter.Dispose();
            
        
        catch (System.Exception e)
        
            Debug.LogError(e);
        
    

    public static void Load(Object data, string url)
    
        if (!File.Exists(url))
        
            File.Create(url).Dispose();
        
        Encoding encoding = Encoding.GetEncoding("utf-8");
        StreamReader streamReader = new StreamReader(url, encoding);
        string str = streamReader.ReadToEnd();
        JsonUtility.FromJsonOverwrite(str, data);
        streamReader.Close();
        streamReader.Dispose();
    

以上是关于Unity学习使用Json长久储存ScriptableObject数据的主要内容,如果未能解决你的问题,请参考以下文章

Unity学习基于JSON的UI回放系统

Unity学习基于JSON的UI回放系统

Unity学习笔记Unity使用JsonUtility解析Json(附注意事项)

unity五种数据储存方法——ScriptableObject

Unity 学习Json篇

Python学习之旅-10-文件储存:txt文件csv文件json文件