JsonUtility解析Json
来源:互联网 发布:node.js能做什么 编辑:程序博客网 时间:2024/06/06 09:25
JsonUtility解析Json
JsonUtility是Unity官方的一个解析Json的API,下面是我定义的Json文件,记录了项目中的panle预制件名字和与其所在的路径。
{ "infoList": [ { "panelTypeString": "MainMenu", "path": "UIPanel/MainMenuPanel" }, { "panelTypeString": "Task", "path": "UIPanel/TaskPanel" }, { "panelTypeString": "Knapsack", "path": "UIPanel/KnapsackPanel" }, { "panelTypeString": "Skill", "path": "UIPanel/SkillPanel" }, { "panelTypeString": "Battle", "path": "UIPanel/BattlePanel" }, { "panelTypeString": "System", "path": "UIPanel/SystemPanel" }, { "panelTypeString": "KnapsackPop", "path": "UIPanel/KnapsackPopPanel" } ]}
为了从json文件里面获取到相关的信息,需要做以下准备,代码如下:
using UnityEngine;using System;/// <summary>/// panel 信息类/// </summary>/// 注意这里需要加这个可序列化属性 [Serializable],不然解析会报错[Serializable]public class PanelInfo:ISerializationCallbackReceiver { [NonSerialized] public UIPanelType panelType; public string panelTypeString; //{ // get { return panelType.ToString(); } // set // { // UIPanelType type=(UIPanelType) System.Enum.Parse(typeof(UIPanelType), value); // panelType = type; // } //} public string path; public void OnBeforeSerialize() { } //反序列化=>从文本信息到对象 public void OnAfterDeserialize() { UIPanelType type = (UIPanelType)System.Enum.Parse(typeof(UIPanelType),panelTypeString); panelType = type; }}
/// <summary> /// 对应json文件里面的数组 /// </summary> /// [Serializable] 属性不可缺,不然会报错 [Serializable] class UIPanelTypeJson { public List<PanelInfo> infoList; } /// <summary> /// 解析json文件过程 /// </summary> private void UIPanelPathParson() { panelPathDict = new Dictionary<UIPanelType, string>(); TextAsset uiPanelType = Resources.Load<TextAsset>("UIPanelType"); UIPanelTypeJson panelTypeJson= JsonUtility.FromJson<UIPanelTypeJson>(uiPanelType.text); foreach (PanelInfo panelInfo in panelTypeJson.infoList) { Debug.Log(panelInfo.path); } }
阅读全文
0 0
- JsonUtility解析Json
- JsonUtility 读取 Json
- Unity中Json转换类 JsonUtility
- 【Unity&JSON】JsonUtility的多对象读写(1)
- 【Unity&JSON】JsonUtility的多对象读写(2)
- 【Unity&JSON】JsonUtility的多对象读写(3)
- 【Unity&JSON】JsonUtility的多对象读写(4)
- 【JSON解析】JSON解析
- Unity的JsonUtility
- 解析JSON
- Json解析
- JSON解析
- JSON解析
- json解析
- Json解析
- Json解析
- JSON解析
- Json解析
- JavaScript异步之Promise
- 从作用机制和性质上看待methods,watch和computed的关系
- C#窗体绘制基本理解
- 安师大是的是的
- Java--jvm
- JsonUtility解析Json
- CodeForces
- 内排序- 当有两种以上变元的时候的贪心算法
- Gym
- deeplearn.js API用例(二)softmax的手动实现(解决Softmax backprop is not yet implemented问题)
- C++ STL容器之map操作
- JavaScript之Promise实现
- 数据结构--树、森林和二叉树的转换
- 形参和实参是什么?