具有各种类型的 Json 反序列化



我有一个包含形状集合的对象模型 - 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)上面的链接似乎是一个更好的解决方案,所以我也会尝试一下。

相关内容

  • 没有找到相关文章

最新更新