工具 | Json字符串转为object | object转为Json字符串 | 优劣 |
---|---|---|---|
JsonUtility(UnityEngine自带) | FromJson | ToJson | 类对象多层嵌套无法解析为Json |
LitJson | ToObject | ToJson | 源码 |
NewtonJson | SerializeObject | DeserializeObject | 屏蔽null字段非常方便 |
- Json字符串存储
StreamWriter file = new StreamWriter(filePath + "/" + fileName, false, Encoding.UTF8);
file.Write(jsonData);
file.Close();
- Json字符串读取
File.ReadAllText(_path, Encoding.GetEncoding("utf-8"));
ps:生成的json字符串一定要去检测一下有没有问题。
【20200817】
NewtonJson在ios上会报错,所以用经受了考验的SimpleJson吧。(老大的经验之谈)
【20211106】
JsonUtility之类对象多层嵌套无法解析为Json,实测它出现啦,List无法被序列化,OptionItem可以,OptionItem是class。
【20211230】
给自己写了个软考笔记,发现读不到数据,一查:原来是Newtonsoft导致的,换了LitJson可以。
Unity2019.4.30f1
Redmi K30u