unity 同一张表中存入多种类型的数据时的解析方法

本文介绍了一种从JSON文件中加载并解析数据的方法,通过使用不同类型的数据模型来处理不同的数据条目,确保了数据的完整性和准确性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值