zoukankan      html  css  js  c++  java
  • 让策划也能轻松修改数据的方法:运用Excel2Json2Object插件将xml表格转为Object导入脚本

    让策划也能轻松修改数据的方法:运用Excel2Json2Object插件将xml表格转为Object导入脚本

    运用Excel2Json2Object插件将xml表格转为Object导入脚本

    下载地址
    https://pan.baidu.com/s/1m86B7Gk6Jt46rRfyAmrHng 提取码: ikvc

    插件不支持 float 类型,浮点数请使用 double 类型

    1.导入插件

    导入Excel2Object.unitypackage

    2.创建存储数据的Excel表格

    ID Name Hp Desc
    1 a 10 da
    2 b 20 db
    3 c 30 dc
    4 d 40 dd

    后缀名必须是“.xlsx”

    表格第一行为变量名

    其后每一行都是一组数据

    把表格导入Unity

    这里创建的表格文件名为 HeroDataxml.xml

    3.Unity中确定数据类

    public class HeroData
    {
        public int ID;
        public string Name;
        public int hp;
        public string Des;
    }//变量名必须和表格第一行一致
    

    4.在Unity中把Excel表格转换为Jason文件

    转换生成同名Jason文件

    5.Jason文件转换为Object

    例如我们创建一个控制对象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);
    //<>要把表格中的数据,转换的什么类型的对象
    

    6.插件API

    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;
    }
    

    返回值:泛型类型的列表

  • 相关阅读:
    net core 使用 rabbitmq
    asp.net core WebApi 返回 HttpResponseMessage
    asp.net core 2.1 WebApi 快速入门
    JQuery EasyUI combobox动态添加option
    php截取字符去掉最后一个字符
    JQuery EasyUI Combobox的onChange事件
    对于不返回任何键列信息的 selectcommand 不支持 updatecommand 的动态 sql 生成
    Access2007 操作或事件已被禁用模式阻止解决办法
    Easyui 中 Tabsr的常用方法
    Win 7 IE11不能下载文件,右键另存为也不行
  • 原文地址:https://www.cnblogs.com/zhxmdefj/p/10512551.html
Copyright © 2011-2022 走看看