数据持久化(Json)

平常写代码的时候就应该习惯性的加【SerializeField】System.Serializable   如果是公有变量可以不加  泛型就要用<>

 JSon语法

之后Lua热更新的学习也会使用Sublime Text

 

 

Excel转Json

https://www.bejson.com/json/col2json

记得检查一下,得到的Json格式是否有问题

Excel -json文件-读取文件-新建对应类-litJson转列表

Jsonutility 

 写入时会自动创建文件。   

如果要在前面加一个文件夹,得保证有一个文件夹(也要加 / )

 读取路径字符串

序列化

注意区分,类的需要点出命名空间System,而且是Serializable,变量才是普通的SerializeField

公开的变量不需要加。   而保存的类本身也可以不加,只有当他内部存在其他类作为成员时,作为成员变量的类要加。

比如这里的MrTang本身不用加,而其内的Student是一个类,那么Student就要加
私有的int类型的privateI也要加。注意区分Serializable和SerializeField

反序列化

 用 JsonUtility.FromJson<>();    更推荐用泛型

或者用   JsonUtility.FromJson( , Typeof);

如果Json中数据少了,读取到内存中不会报错。缺少的类对象会使用初始值。 比如不能存字典,那字典就会是默认值。

想要读取集合则必须包裹一层,不能直接读

这个RoleDate里面包裹了玩家列表,读取它就是读取玩家列表。

Json练习题

  数据保存的文件名由玩家决定   保存同理

Litjson

,不需要将整个文件全部导入, 只需要导入litjson-0.19.0  \src  \LitJson 中的c#脚本部分

JsonMapper.ToJson()  JsonMapper.ToObject()

不能保存私有,只能存键为string的字典,类需要有无参构造函数

   8.字典键必须是字符串

Json数据管理类

总览

前期准备

存储   因为这个函数不是泛型,所以参数不能用泛型,只能用object

读取  这个是泛型函数,但这里它却并不需要用到泛型参数

因为外部对象需要初始化的,不能直接拿个默认值赋给它

复习

 

总结

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值