【发布时间】:2020-09-02 03:02:58
【问题描述】:
我有包含重复成员的 JSON:
[
{
"MyProperty": "MyProperty1",
"MyProperty": "MyWrongProperty1",
"MyProperty2": "MyProperty12",
"MyProperty2": "MyWrongProperty2"
},
{
"MyProperty": "MyProperty21",
"MyProperty2": "MyProperty22"
}
]
当我反序列化时,它正在获取最后一个属性。代码如下:
var myJson = File.ReadAllText("1.txt");
List<MyClass> myClasses = JsonConvert.DeserializeObject<List<MyClass>>(myJson);
但是当 JSON 字符串包含重复的属性时,我需要抛出异常。我怎样才能做到这一点?
【问题讨论】:
-
使用
JsonConverter使用自定义转换器。参考docs.microsoft.com/en-us/dotnet/standard/serialization/… -
@PavelAnikhouski 这没有回答问题。
-
@maytham-ɯɐɥʇʎɐɯ 实际上,这似乎是一个完全相同的副本,以及该站点上的许多其他问题,可以在几分钟内通过谷歌搜索找到(例如 Json.NET (Newtonsoft.Json) - Two 'properties' with same name?。其中一个下面的答案显示了与重复答案相同的方法
标签: c# json json.net deserialization jsonconvert