属性类型更改后的JSON反序列化

问题描述 投票:0回答:1

我一直在研究C#程序,该程序以JSON格式对一些数据进行序列化和反序列化:但是,现在,我必须彻底改变现有属性的类型,从string更改为Dictionary(string ,string [])] ..

是否有一种方法可以使程序在该字段仍为字符串的情况下尝试反序列化文档,它会执行一些操作将其转换为Dictionary?还是旧文档会变得完全无法使用?

作为参考,我一直在使用的读写功能如下:

序列化:

JsonConvert.SerializeObject(this, Formatting.Indented);

反序列化:

JsonConvert.DeserializeObject<T>(content);

我一直在研究一个C#程序,该程序以JSON格式对一些数据进行序列化和反序列化:但是,现在,我必须从根本上将现有属性的类型从字符串更改为Dictionary(...

c# json json.net
1个回答
0
投票

您可以保留要反序列化的类的两个版本,或者可以使用custom JsonConverterJsonConverterAttribute处理两种不同的反序列化数据的方式。无论选择哪种方式,都需要某种方式来标识所拥有的文档类型或数据类型,然后需要JsonConverterAttribute语句才能切换到适当的反序列化方法。确定这一点的最简单方法实际上取决于您的情况。


0
投票

有一些方法可以处理这种合同变更

© www.soinside.com 2019 - 2024. All rights reserved.