運用Excel2Json2Object插件將xml表格轉爲Object導入腳本json
下載地址
https://pan.baidu.com/s/1m86B7Gk6Jt46rRfyAmrHng 提取碼: ikvcc#
插件不支持 float 類型,浮點數請使用 double 類型api
導入Excel2Object.unitypackage數組
ID | Name | Hp | Desc |
---|---|---|---|
1 | a | 10 | da |
2 | b | 20 | db |
3 | c | 30 | dc |
4 | d | 40 | dd |
後綴名必須是「.xlsx」app
表格第一行爲變量名測試
其後每一行都是一組數據插件
把表格導入Unityexcel
這裏建立的表格文件名爲 HeroDataxml.xmlcode
public class HeroData { public int ID; public string Name; public int hp; public string Des; }//變量名必須和表格第一行一致
轉換生成同名Jason文件xml
例如咱們建立一個控制對象Hero1的腳本HeroDatactl
將HeroDatactl掛載到遊戲物體Hero1上
而後在HeroDatactl中聲明一個變量
public TextAsset json;//聲明一個存放.txt的變量
在unity中指定他爲轉換好的json文件(把咱們轉換出的 Json 文件,直接拖到這個變量中)
public class HeroData : MonoBehaviour { public TextAsset json;//聲明一個存放.txt文件的變量 // Start is called before the first frame update void Start() { //將一個jason文件轉換爲一個類型對象 //(一個HeroData類的對象,就是一條數據) List<HeroData> datas = JsonToObject.JsonToObject_ByJsonContent<HeroData>(json.text); //返回值爲表格中的數據 //輸出測試 Debug.Log(datas[0].ID); Debug.Log(datas[2].Name); } }
//將一個jason文件轉換爲一個類型對象 JsonToObject.JsonToObject_ByJsonContent<HeroData>(json.text); //<>要把表格中的數據,轉換的什麼類型的對象
JsonToObject.JsonToObject_ByJsonFile()
用於把一個Json文件轉換爲(Object)
參數:Json 文本文件的地址(須要加上文件名的後綴名)
/// 把一個Json文本文件,轉成一個對象(Object) /// <typeparam name="T">對象的類型</typeparam> /// <param name="filePath">Json文本文件的地址(須要加上文件名和後綴名)</param> public static List<T> JsonToObject_ByJsonFile<T>(string filePath) { /*直接解析成對象*/ //讀取Json文本中的內容 string json = File.ReadAllText(filePath); //解析Json文本中的內容 -(解析成數組或者List列表均可以) List<T> datas = JsonToObject_ByJsonContent<T>(json); return datas; }
返回值:泛型類型的列表
JsonToObject.JsonToObject_ByJsonContent()
用於把一個Json格式的文本轉換爲(Object)
參數:Json 文本文件中的內容
/// 把一個Json格式的文本,轉成一個對象(Object) /// <typeparam name="T">對象的類型</typeparam> /// <param name="filePath">Json文本中的內容</param> public static List<T> JsonToObject_ByJsonContent<T>(string conntent) { /*直接解析成對象*/ //解析Json文本中的內容 -(解析成數組或者List列表均可以) T[] datas = JsonMapper.ToObject<T[]>(conntent); //把數組封裝成List列表 List<T> dataList = new List<T>(); for (int i = 0; i < datas.Length; i++) { dataList.Add(datas[i]); } return dataList; }
返回值:泛型類型的列表