汉中商城网站建设,计算机ui设计是什么,帝国cms wordpress,网站加载速度慢的原因介绍
在Unity开发过程中#xff0c;Json是比较常用的一种数据存储文本#xff0c;尤其是在和第三方交互中#xff0c;基本都是json格式。 先给出一个Json示例#xff0c;我们来看看是如何解析的。
{Player: [{id: 1001,name: …介绍
在Unity开发过程中Json是比较常用的一种数据存储文本尤其是在和第三方交互中基本都是json格式。 先给出一个Json示例我们来看看是如何解析的。
{Player: [{id: 1001,name: 王二,job: 1},{id: 1002,name: 小红,job: 2},{id: 1003,name: 刚子,job: 3}]
}方法一JsonUtility
JsonUtility是Unity内置的用于解析Json的方法
序列化ToJson() 反序列化FromJson()
首先需要定义解析后的实体类
[System.Serializable]
public class PlayerData
{//玩家IDpublic int id;//玩家名字public string name;//玩家职业public int job;
}
[System.Serializable]
public class Data
{public PlayerData[] Player;
}解析代码如下 void Start(){//加载资源TextAsset obj Resources.LoadTextAsset(player );if (obj ! null){//解析Data m_Data JsonUtility.FromJsonData(obj.text);//打印foreach (PlayerData item in m_Data.Player){Debug.Log(ID:item.id Name: item.name Job: item.job);}}}方法二LitJson
需要LitJson插件 序列化ToJson() 反序列化ToObject() void Start(){//加载资源TextAsset obj Resources.LoadTextAsset(player );if (obj ! null){//使用JsonMapper.ToObject解析Data m_Data JsonMapper.ToObjectData(obj.text);//打印foreach (PlayerData item in m_Data.Player){Debug.Log(ID:item.id Name: item.name Job: item.job);}}}方法三Newtonsoft
需要Newtonsoft.Json.dll 序列化SerializeObject() 反序列化DeserializeObject() void Start(){//加载资源TextAsset obj Resources.LoadTextAsset(player );if (obj ! null){//JsonConvert.DeserializeObjectData m_Data JsonConvert.DeserializeObjectData(obj.text);//打印foreach (PlayerData item in m_Data.Player){Debug.Log(ID:item.id Name: item.name Job: item.job);}}
打印结果