让策划也能轻松修改数据的方法:运用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;
}

返回值:泛型类型的列表

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

  1. oracle 修改数据 保险方法

    oracle 中修改比较安全的方法:(pl/sql) 第一种方法: select * from temp where id=9 for update; 第二种方法: select t.*,rowid ...

  2. MyBatis基础入门《十 一》修改数据

    MyBatis基础入门<十 一>修改数据 实体类: 接口类: xml文件: 测试类: 测试结果: 数据库: 如有问题,欢迎纠正!!! 如有转载,请标明源处:https://www.cnbl ...

  3. android基础(五)网络数据解析方法

    在网络上传输数据时最常用的方法有两种:XML和JSON,下面就对这两种类型的数据解析进行讲解. 一.XML数据解析 在Android中,常见的XML解析器分别为SAX解析器.DOM解析器和PULL解析 ...

  4. c#教程之通过数据绑定修改数据

    通过数据绑定修改数据 "实体框架"提供了与数据库的双向通信通道.前面已经讲述了如何使用"实体框架"获 取数据,现在来看看如何修改获取的信息,并将改动发送回数据库 ...

  5. php处理登录、添加数据、删除数据和修改数据

    php 处理登录 :需要先建一个登录的页面,用form表单就可以很轻松的完成,(这里的示例是我根据数据库现成的表做的 是一个teacher表格 根据老师的工号和姓名登录的) <form acti ...

  6. Redis修改数据多线程并发—Redis并发锁

    本文版权归博客园和作者本人吴双共同所有 .转载爬虫请注明地址,博客园蜗牛 http://www.cnblogs.com/tdws/p/5712835.html 蜗牛Redis系列文章目录http:// ...

  7. MySQL数据库5 - 插入数据,修改数据,删除数据

    一.插入数据 1. 所有列都插入值 INSERT [INTO] TABLE_NAME VALUES(V1,V2....Vn); 特点:列值同数,列值同序 eg: insert into users v ...

  8. 实现DevExpress GridControl 只有鼠标双击后才进行修改数据

    1. 实现DevExpress GridControl 只有鼠标双击后才进行修改数据:修改GridView.OptionsBehavior.EditorShowMode属性为Click 2. 实现De ...

  9. IntelliJ IDEA 在网页修改数据,但是在浏览器刷新的时候,不能读取到修改之后的数据

    使用IntelliJ IDEA 在网页修改数据,但是在浏览器刷新的时候,不能读取到修改之后的数据? 解决办法:tomcat配置中,On frame deactivation属性选择Update cla ...

随机推荐

  1. 傅里叶变换及其应用讲义(stanford_ee261)

    链接:http://pan.baidu.com/s/1bprVIqF 密码:q5iv

  2. Ehcache 3.7文档—基础篇—XML Configuration

    你可以使用xml配置创建CacheManager,根据这个schema definition ( http://www.ehcache.org/documentation/3.7/xsds.html# ...

  3. 树状数组 || JZOI 1024. @szefany 的树

    题面:无 题解:无 代码: #include<cstdio> #include<cstring> #include<iostream> #include<al ...

  4. JAVA的第一次作业

    读后感:这个学期开始接触一门新的学科就是JAVA,老师对这么学科介绍了很多,我也从中了解到了许多,它可能是相对于C语言而已可能要更加方便一些,也是现在世界上所用最多的语音(软件方面),C语言都是排在它 ...

  5. mongodb 参数优化

    1.大部分IO操作为随机IO,建议采用SSD或PCIE,普通硬盘RAID10 2.IO调度算法.普通磁盘:deadline避免IO请求出现“饥饿”现象,SSD/PCIE:noop简单的先进先出处理请求 ...

  6. 2018-2019-2-20175303 实验二 《Java开发环境的熟悉》实验报告

    2018-2019-2-20175303 实验二 <Java开发环境的熟悉>实验报告 姓名:柴轩达       学号:20175303     班级:1753       实验课程:JAV ...

  7. ItunesConnect:"Missing Push Notification Entitlement"警告-----以及解决方法

    最近开发的cordova应用,要做ios的适配,并且发布版本,但是有一次在发测试版本的时候,突然收到一封邮件警告,原文如下: Missing Push Notification Entitlement ...

  8. npm run dev没反应

    npm config set registry https://registry.npm.taobao.org npm install npm run dev

  9. check failed status == cudnn_status_success (4 vs. 0) cudnn_status_internal_error

    Check failed: error == cudaSuccess (30 vs. 0) unknown error  这个有可能是显存不足造成的,或者网络参数不对造成的 check failed ...

  10. pycharm Python Console调试 & django 调试

    1.设置断点,然后debug     2.如果在运行中想修改变量,可以直接在pycharm中修改 如将列表的 13改成3,然后选中 Excuting Selection in console     ...