我有一个包含形状集合的对象模型 - IShape。 各种东西实现了这一点,如矩形、圆形等。
如果我为此定义一个 json 文件,例如:
"shapes": [
{
"shapeName": "Rectangle",
"origin": {
"x": 50,
"y": 50
},
"height": 20,
"width": 20,
},
"zOrder": 0
},
{
"shapeName": "Circle",
"origin": {
"x": 50,
"y": 50
},
"radius": 200,
"zOrder": 0
}
]
使用 Json.Net 我不知道如何为此创建自定义转换器。
另外,我真的不想在我的模型类上放置属性......
有没有人做过这样的事情? 也许我真的应该使用 XML...(悲伤)。
谢谢
感谢您的链接。 最后,我找到了 SerializationBinder,它工作正常,除了我自己的"shapeName"属性之外,我还在序列化的 json 中$type。 布莱恩·罗杰斯(Brian Rogers)上面的链接似乎是一个更好的解决方案,所以我也会尝试一下。