Unity自带的转Json工具
1、Excel设计好表格数据
2、使用Excel转Json工具获得Json语法 https://www.bejson.com/json/col2json/
3、修改Json语句,前面加上头节点,在线Json解析检测 https://www.json.cn/
4、保存Json文件到指定路径【保存编码为UTF-8】
5、加载出指定路径的Json文件
6、定义好相应的数据结构用以保存数据,结构需要[System.Serializable]
7、使用JsonUtility.FromJson<T>(json字符串)
8、具体实现:
using System.Collections; using System.Collections.Generic; using System.IO; using UnityEngine; public class BagController : UIBasePanel { //保存所有赛车信息的字典 private Dictionary<int, Car> carDict = new Dictionary<int, Car>(); void Start () { //从指定路径加载json文件,返回json的字符串 string json=ResController.GetInstance().LoadAsset<TextAsset>("Json/car").text; //使用Unity自带的转json方法 CarInfo carsInfo = JsonUtility.FromJson<CarInfo>(json); //将所有信息保存进字典 for (int i = 0; i < carsInfo.carInfo.Count; i++) { carDict.Add(carsInfo.carInfo[i].id,carsInfo.carInfo[i]); } //打印测试 Debug.Log(GetCarInfo(5).name); } /// <summary> /// 获取 赛车表的 赛车信息 /// </summary> /// <param name="id">赛车id</param> /// <returns></returns> public Car GetCarInfo(int id) { if (carDict.ContainsKey(id)) return carDict[id]; return null; } } [System.Serializable] public class CarInfo { public List<Car> carInfo; } [System.Serializable] public class Car { public int id; public string name; public int type; public string desc; }
9、效果:
评论