前言
JsonUtility对于部分数据类型是不能序列化,所以我们需要尽量的避免使用到这些数据类型即可。
提示:以下是本篇文章正文内容,下面案例可供参考
一、避开JsonUtility的局限
笔者采用的是struct自定义结构体来定义跟服务器交互的数据类型,目前项目上使用并未发现任何问题,对于Json的接触最开始也是仅限于本地数据存储(参考B站M_Studio的视频)。所以笔者对于这方面的了解不算特别深入,所以大佬们看到后轻喷。
二、使用步骤
1.自定义结构体
以下是我随意定义的两个数据类型,可参考,代码如下(示例):
public struct Attribute //价格数据
{
public int speed;
public int speedClickTimes;
public double speedUpUnixTime;
public double complimentaryCoolTime;
}
public struct PlayerValue //玩家基础数据
{
public Attribute attribute;
public double gold;
public int id;
public int level;
public int maxItemLevelLimit;
public string name;
public int nextLevel;
}
2.自定义结构体——可序列化
对于类和自定义类型需要对其做可序列化处理,代码如下(示例):
[Serializable]
public struct Attribute //价格数据
{
public int speed;
public int speedClickTimes;
public double speedUpUnixTime;
public double complimentaryCoolTime;
}
[Serializable]
public struct PlayerValue //玩家基础数据
{
public Attribute attribute;
public double gold;
public int id;
public int level;
public int maxItemLevelLimit;
public string name;
public int nextLevel;
}
只需要加上[Serializable]即可。