Json序列化工具 Newtonsoft.Json的使用
首先想要把数据从代码中保存到json中必须有一个序列化数据到json格式的方法,方法不止一种,我用的是Newtonsoft.Json的类库
下载地址:github地址
1.下载zip
打开压缩包,把Bin\net20下的“Newtonsoft.Json.dll”拖放至自己工程Assets下
2.引入命名空间
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
3.序列化类“mydata”到json格式
mydata = new MyData;
string json = JsonConvert.SerializeObject(mydata);
4.反序列化到data类
data= JsonConvert.DeserializeObject<MyData>(json);
MyData是反序列化出来的格式
5.String转json
JObject jo = (JObject)JsonConvert.DeserializeObject(jsonText);//或者JObject jo = JObject.Parse(jsonText);
常见问题:
当你把下载好的压缩包里的dll放进工程时可能会报一些错,我发现是因为工具版本与unity版本不匹配导致的,可以官网下载更旧的版本试试。(我当时unity是2018.2.4的,下了12.0.3的工具然后发现报错,就试了下12.0.2版的工具,可以用)
解决方法有不止一种,也可以到网上找找其他更优秀的方法
特点:
1.不需要在指定的类上加 [Serializable]的特性
2.可以指定忽略哪些属性
总结:Newtonsoft是目前来讲我最常用的json序列化工具了,个人感觉和LitJson不相上下