关于Unity实现json的反序列化并发布
先上个发布在桌面上的小应用效果图
虽然丑,但是毕竟心血
一:什么是序列化
简单说就是把一个内存对象变为与地址无关的可传输的数据格式
通常是文本格式;反序列化反之。
详情请看中山大学潘茂林老师的课件:
http://ss.sysu.edu.cn/~pml/se347/11_publish_serialization.html
实现序列化很重要,有助于我们更新游戏,因为更新游戏不允许修改exe文件。
我们只能通过向用户传一系列的系列化后的文件。
然后再反序列化更新游戏中内存对象的属性。
二:unity中json格式的序列化
unity是支持将json格式的文件来反序列化
首先,我们通过unity中WWW类型来打开json文件。
找到json文件的url,
string url = "json文件所在的地址"
然后新建WWW类型打开url地址对应的json文件
WWW www = new WWW(url);
String json = www.text.ToString();
现在我们得到了一个json格式的字符串
利用unity自带的反序列化来解读字符串
[SerializeField] //这是最新版unity表示可序列化类的标签
public class Data
{
public int data1;
public float data2;
public static Data CreateFromJSON(string json)
{
return JsonUtility.FromJson<LevelData>(json);
}
}
现在,我们只要调用类中的CreateFromJSON函数
Data _data = Data.CreateFromJSON(json);
然后,我们就可以得到一个类的实例_data
访问数据,只需要下面操作
int json_data1 = _data.data1<