开发过程中会需要将数据导入到游戏里面,比如 有10个道具,每个道具的 名称、属性、价格 各不相同,如果是在C#中直接声明相应的对象和属性,会很麻烦,而且不易于修改和维护。用LitJson就能较好的解决这个问题,只需要将相关物品对应属性列在Excel中转成 SCV格式,再转成 Json格式即可。
在unity工程中处理读取 Json表。
第一步: 导入类库
第二步: 填写Excel表格
第三步: 转成CSV格式
注意需要将格式存为UTF-8.
第四步: 转成Json格式
转换的时候有几个坑需要注意:
①分隔符用“,” 要用英文的.
②值和字符串可按需转换
③如果是多行数据,最后一行数据会多一个逗号,需要将最后一个逗号删掉
④记得将转好的Json,做一下格式校验
第五步: 编写对应类
public class CellRow
{
public int ID;
public string Name;
public double changeValue;
public int Level;
public int Price;
public string BgPath;
public string IconPath;
public string LevelPath;
public string Description;
}
①属性的名字 要和 表格中的名字完一直,区分大小写
②小数类型,要保存为dobule类型,而不是float会报错
第六步: 读取数据
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using LitJson;
public static class CellDataModel
{
public static List<CellRow> ReadCellRowsData()
{
//读取JSON文件
TextAsset ta = Resources.Load<TextAsset>("Tables/CellRow");
Debug.Log(ta.text);
List<CellRow> data = JsonMapper.ToObject<List<CellRow>>(ta.text);
return data;
}
}
第七步: 使用读到的数据
调用编写的方法读取,通过对应变量名便能找到对应属性
插件资源下载地址: