C# ExpandoObject特殊密钥的自定义json.net序列化程序/反序列化程序
我想用非平凡值序列化和反序列化ExpandooObject。 ExpandoObject的某些值包含具有指向循环引用的属性的对象 我为这些对象编写了自定义序列化器/反序列化器。但是,这些对象出现在ExpandoObject中的许多位置(也嵌套,而不仅仅是在根级别)。但他们总是有相同的钥匙!我希望反序列化程序为某个键的ExpandooObject的每个属性使用我的自定义反序列化程序 例如:C# ExpandoObject特殊密钥的自定义json.net序列化程序/反序列化程序,c#,serialization,json.net,deserialization,C#,Serialization,Json.net,Deserialization,我想用非平凡值序列化和反序列化ExpandooObject。 ExpandoObject的某些值包含具有指向循环引用的属性的对象 我为这些对象编写了自定义序列化器/反序列化器。但是,这些对象出现在ExpandoObject中的许多位置(也嵌套,而不仅仅是在根级别)。但他们总是有相同的钥匙!我希望反序列化程序为某个键的ExpandooObject的每个属性使用我的自定义反序列化程序 例如: { "a": 12.5, "b": "hello world", "special"
{
"a": 12.5,
"b": "hello world",
"special": { /* ... */ },
"c": -4,
"d":
{
"x": "test",
"special": { /* ... */ },
"y": 152
},
"e": 9053
}
我想用我的自定义反序列化程序将每个特殊属性反序列化到我的类。其他一切都应该由默认的反序列化程序处理
我处理这类问题的方法正确吗?如果是,我如何使用JSON.NET实现这一点?显示序列化程序的代码以及如何调用它。我显式调用它是为了在SpecialObject上进行测试。json输出与所需的结构匹配。反序列化也起作用。我没有通过序列化程序运行整个ExpandooObject。这是的副本吗?