Json.net捕获重复项并抛出错误

可能重复:
Json.NET(Newtonsoft.Json) – 两个同名的“属性”?

我正在使用JSON.NET将JSON文件反序列化为字典。 现在我想做的是有以下几行:

JsonConvert.DeserializeObject<IDictionary>(text); 

如果JSON中有重复条目,则抛出exception,如下所示:

 { "ExampleText": "Example 1", "ExampleText": "Example 2", "ExampleText": "Example 3", } 

标准的JSON.NET行为只是将“ExampleText”条目替换为JSON中最后一个条目。 是否可以抛出exception?

– 编辑 –

您不需要反序列化为IDictionaryJObject已经实现了IDictionary

 var obj = (JObject)JsonConvert.DeserializeObject(json); //will throw exception for dublicates. var str = (string)obj["ExampleText"]; 

如果你看看msdn中的IDictionary

“每个协会必须有一个唯一的密钥”

您在重复键中的问题。 我想你应该使用另一个系列。

试试这个

 class MyValue { public string Key {get; set;} public string Value {get; set;} } JsonConvert.DeserializeObject>(text);