首页 > 解决方案 > 在 json 反序列化之前根据属性名称和值更新字段值 [Newtonsoft / JSON.Net]

问题描述

我有以下示例 JSON:

[
  {
    "$type": "TestProject.Classes.TestClass, TestProject",
    "Name": "TestCommand",
    "Children": [
      {
        "Age": 0,
        "Eta": 8,
        "Gender": "Ragel"
      },
      {
        "Age": 0,
        "Eta": 20,
        "Gender": "Mara"
      }
    ],
    "School": {
      "Title": "School for Life"
    }
  }
]

这是从数据源(消息队列中的消息)反序列化的。代码库中有一些类型发生了变化,我希望仍然能够将旧类型映射到新类型。

例如,假设类型TestClass不再存在,但现在是TestClassNew. 我存储了映射,以便能够从旧类型映射到新类型。我试图$type在反序列化对象之前更改该值,以使其字符串值从更改TestProject.Classes.TestClass, TestProjectTestProject.Classes.TestClassNew, TestProject.

我正在尝试使用 JsonConvertor,但不确定这是否是正确的方法 - 还没有成功。任何有关如何做到这一点的帮助将不胜感激。

标签: jsonjson.net

解决方案


推荐阅读