fastJSON通用对象字典序列化

时间:2016-01-07 02:02:36

标签: c# json dictionary serialization

我有一个奇怪的问题,也许有更好的解决方案,所以我会解释整个情况。

我正在创建一个我正在创建的实体组件系统的蓝图编辑器,这只是让我/我保存一大堆组件及其设置的方式,以便以后加载到实体上游戏(Think Prefab from unity)。最后,我正在尝试序列化一个词典<类型,字典< string,object>>我认为这会导致序列化程序中的错误,因为通用的“对象”。

要做到这一点,我有一个包装类,它是一个字典< string,ToggleBlueprint>,其中字符串是蓝图的名称,ToggleBlueprint是struct,它包含蓝图和bool值(如果该蓝图的子项应该显示在层次结构中,则保存)。

蓝图由AttributeTable,ComponentTable,List<组成。字符串>用于子列表,以及父项的字符串。这是我不确定我是否应该改变我的设计。组件表是一个组件列表,带有相应的布尔值(设置是否应该在编辑器中显示)。

此属性表是字典<类型,字典< string,object>>。类型是组件,字符串是变量的名称,对象是值。这种设计的原因是,可以在代码中轻松制作属性表,以进一步修改游戏中的设置(无法预先确定或根据非常特定的条件进行更改的内容)。我意识到这可能不是非常有效,这是我相信我的问题的原因,但我想不出任何其他方式来保持它所以设置可以在游戏中修改(在创作。基本上我做到了这样我可以在蓝图的顶部应用单独的属性表。)

我想知道是否有人知道如何有效地序列化词典< string,object>使用fastJSON(或任何其他JSON序列化程序)。目前我得到一个无法从源类型转换为目标类型错误。

如果没有,你认为如果我删除了componentTable和AttributeTable并将其合并到实际组件对象列表中,它会起作用吗? (我假设只是序列化特定类型的对象会顺利运行)

注意:我已经得到了一些可以使用XML的东西,但是它很臃肿,很慢并且容易出错。

0 个答案:

没有答案
相关问题