【发布时间】:2019-10-20 20:24:48
【问题描述】:
我正在开发一个使用 Firebase 的手机游戏项目。我已经设法获得登录/注册,并将项目发送到数据库以正常工作。然而,经过无数小时的头撞墙后,我就是无法让库存工作。我可以从数据库中获取正确的 JSON 数据,格式如下:
{"5449000085757":{"itemLevel":82,"itemName":"Sword of Maximum Epicness","itemType":""},"6419800152996":{"itemLevel":45,"itemName":"Your Average Sword","itemType":""}}
当然,这些都只是用于测试目的的字段。我要做的是创建一个对象列表,其中列表是“库存”,对象是项目。我尝试过使用 Json.NET、Unity 的内置 JSON 实用程序、各种技术,但就是找不到方法。我觉得有点愚蠢,因为显然不可能这么难。无论我尝试过什么示例,它都不起作用。
如果可能,有人可以简要介绍一下如何从 JSON 创建对象列表,这是一种简单的方法吗?我只是无法自己解决这个问题,这真的很令人沮丧。
【问题讨论】:
-
无论我尝试过什么示例,它都不起作用。 那么不起作用的代码在哪里?当您提供一个起点时,提供帮助会更容易 - 因为您已经将所有的负担都放在了我们身上。
-
在我看来,您应该反序列化为 Dictionary
其中 item 具有 itemLevel、itemName 和 itemType 字段。 -
您应该重新考虑 json 形状,因为它具有 id 作为类型名称。它可以工作,但我不推荐它。以下可能更合适 { "levels": [{"id": "5449000085757","itemLevel": 82,"itemName": "Sword of Maximum Epicness","itemType": ""},{"id": "6419800152996","itemLevel": 45,"itemName":"你的平均剑","itemType": ""} ] }
标签: c# json firebase unity3d json.net