首页 > 其他分享 >8-5. 序列化保存数据文件

8-5. 序列化保存数据文件

时间:2024-02-29 14:01:01浏览次数:24  
标签:文件 git 数据文件 Settings newtonsoftjson 保存 Project 序列化

安装 newtonsoftjson

newtonsoftjson 是一个比 JsonUtility 更好的 JSON 工具,但是 Unity Registry 没办法直接下载,需要点击 Package Manager 左上角的 + 号,点击 Add package from git URL,输入 com.unity.nuget.newtonsoft-json,进行安装

使用 newtonsoftjson 序列化和反序列化

使用 JsonConvert.SerializeObject 将对象序列化成 JSON 字符串,再通过 JsonConvert.DeserializeObject 将字符串反序列化为对象

存储文件

我们将数据保存到{Application.persistentDataPath}/SAVEDATA/目录下面,具体路径在哪里看官方文档

读取文件、写入文件、判断文件是否存在、创建目录,见下图

文件中有关公司名、产品名,可以在 Project Settings / Player 里面进行修改

调整执行顺序

我们需要调整 DataManager 的执行顺序,让它比其它更先执行,其它的执行顺序见 Project Settings 里面的 Script Execution Order

项目相关代码

代码仓库:https://gitee.com/nbda1121440/2DAdventure.git

标签:20240229_1330

标签:文件,git,数据文件,Settings,newtonsoftjson,保存,Project,序列化
From: https://www.cnblogs.com/hellozjf/p/18043552

相关文章

  • 8-3. 人物数值及场景的保存加载
    人物数值保存加载在Data中添加一个floatSavedData然后在Character里面进行设置,读取血量之后记得通知血条栏更新血量场景保存加载Data中增加一个字符串,用于存储场景信息。存储的时候传入一个GameSceneSO,通过JsonUtility转换为字符串。然后读取的时候,将保存的strin......
  • 8-2. 数据结构及坐标保存加载
    使用ISaveable标识可保存的数据现在C#也像Java一样,接口可以写默认实现。大括号的写法和=>的写法是完全一致的使用DataManager来统一管理所有数据usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;usingUnityEngine.InputSystem;pu......
  • 多进程拷贝数据文件
    多进程拷贝数据#include<sys/types.h>#include<sys/stat.h>#include<fcntl.h>#include<sys/mman.h>#include<sys/wait.h>#include<unistd.h>#include<stdio.h>#include<string.h>intmmap_mamcpy(char**argv){......
  • [DotnetSec]XmlSerializer 反序列化 分析
    Dotnet-XmlSerializer反序列化序列化和反序列化的演示Demo参考微软的文档:https://learn.microsoft.com/zh-cn/dotnet/api/system.xml.serialization.xmlserializer?view=net-5.0XmlSerializer命名空间:System.Xml.Serialization程序集:System.Xml.XmlSerializer.dll演示......
  • 保存CSDN博客为PDF
    打开浏览器开发者工具的控制塔,输入以下代码回车。(function(){$("#side").remove();$("#comment_title,#comment_list,#comment_bar,#comment_form,.announce,#ad_cen,#ad_bot").remove();$(".nav_top_2011,#header,#navigator").remove();$(".p4co......
  • vue3+elment-plus项目,el-diglog的按钮,内部是el-form的子组件,那么保存时,如何触发子组件
    问题:el-diglog的按钮,如何触发内部的form表单提交el-dialog是父组件,cengji是子组件代码如下:<el-dialogv-model="dialogVisible"title="层级结构管理"width="1000"><cengji:tableId="tableId"/><template#footer>......
  • 对象序列化内存占用问题
     一般而言,前端发起一个查询,后端接收请求而后去数据库检索并得到结果集,之后序列化为字符串返回给前端展示。在序列化方法接收一个集合到序列化(比如这里是json)的过程中,内存占用会增大吗?肯定会的,总体而言我们new出的对象,对象引用的字符、数字等都是存放在堆内存中;未序列化这些对......
  • [dotnet-Sec]初探反序列化
    [dotnet-Sec]初探反序列化参考Github上y4✌的开源笔记,狠狠学!环境搭建.NET:5.0IDE:Rider(JB家族)新建项目选择.NETCore(支持跨平台)下的控制台应用程序,然后创建这是接触到的关于dotnet的第一个反序列化demo,使用的是BinaryFormatter生成二进制流//Disablethewarning.#pragma......
  • golang 读取excel 保存xml
    1、首先下载第三方excel读取库gogetgithub.com/xuri/excelize/v22、读取xml库,未使用默认xml库 gogetgithub.com/beevik/etreepackagemainimport( "fmt" "github.com/beevik/etree" "github.com/xuri/excelize/v2")funcLoadExcelAndSaveXML(){ ......
  • Oracle误删除数据文件恢复---惜分飞
    联系:手机/微信(+8617813235971)QQ(107644445)标题:Oracle误删除数据文件恢复作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]有客户通过sftp误删除oracle数据文件,咨询我们是否可以恢复,通过远程上去检查,发现运气不错,数据库还没有c......