JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于 ECMAScript 的一个子集。 JSON 采用完全独立于语言的文本格式,但是也使用了类似于 C 语言家族的习惯(包括 C、C++、C#、Java、JavaScript、Perl、Python 等)。这些特性使 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成 (一般用于提升网络传输速率)。
纯数组的 Json 数据比较简单, 在这个 Demo 中 Json 数据是一个对象, 对象内有一个数组. 分别需要用到一个 Json 对象模型 (JsonObjectModel) 和一个 Json 数组模型 (JsonArrayModel) 来接收这两种 Json 数据:
- {
- "infoList": [
- {
- "panelTypeString": "ItemMessage",
- "path": "UIPanel/ItemMessagePanel"
- },
- {
- "panelTypeString": "Knapsack",
- "path": "UIPanel/KnapsackPanel"
- },
- {
- "panelTypeString": "MainMenu",
- "path": "UIPanel/MainMenuPanel"
- },
- {
- "panelTypeString": "Shop",
- "path": "UIPanel/ShopPanel"
- },
- {
- "panelTypeString": "Skill",
- "path": "UIPanel/SkillPanel"
- },
- {
- "panelTypeString": "System",
- "path": "UIPanel/SystemPanel"
- },
- {
- "panelTypeString": "Task",
- "path": "UIPanel/TaskPanel"
- }
- ]
- }
- public class JsonObjectModel
- {
- //JsonArrayModel类型的列表
- public List<JsonArrayModel> infoList;
- }
- public class JsonArrayModel
- {
- //对应Json中属性 名字要一样
- public string panelTypeString;
- public string path;
- }
- public class JsonDeserialize : MonoBehaviour
- {
- void Start( )
- {
- //获取Json文件
- TextAsset jsonData = Resources.Load<TextAsset>("JsonData");
- JsonObjectModel jsonObject = JsonMapper.ToObject<JsonObjectModel>(jsonData.text);
- foreach (var info in jsonObject.infoList)
- {
- Debug.Log(info.panelTypeString+" "+info.path);
- }
- }
- }
链接: 密码:e9h8
来源: http://www.cnblogs.com/qiaogaojian/p/6532665.html