public void LoadJson()
{
StreamReader sr = new StreamReader(dataPath);
//不能直接转换为 BaseItem,会造成数据丢失
JsonData data = JsonMapper.ToObject(sr.ReadToEnd());
for (int i = 0; i < data.Count;i++ )
{
//取出数据类型,判断
int type = (int)data[i]["itemType"];
//再将每一条数据转换为Json
string str = data[i].ToJson();
if (type ==(int)ItemType.Equip)
{ //再将json转换为Object
ItemEquipment item = JsonMapper.ToObject<ItemEquipment>(str);
datas.Add(item.itemID, item);
}
else if (type == (int)ItemType.Drug)
{
ItemDrug item = JsonMapper.ToObject<ItemDrug>(str);
datas.Add(item.itemID, item);
}
else if(type==(int)ItemType.Other)
{
BaseItem item = JsonMapper.ToObject<BaseItem>(str);
datas.Add(item.itemID, item);
}
}
}
unity 同一张表中存入多种类型的数据时的解析方法
最新推荐文章于 2024-01-10 18:58:56 发布