使用 JSON.NET 反序列化为 IEnumerable<KeyValuePair>



我正在尝试反序列化 JSON 中的键值对列表。我已经看到其他建议反序列化为字典的答案,但这不起作用,因为我有重复的键。我可以反序列化为字典列表,但这似乎很愚蠢,因为每个字典都只是一个键/值对。这也使访问这些键和值变得复杂。

这是一个类的属性,也是一个更大的 JSON 对象的一部分,因此任何需要单独反序列化此 JSON 块

的解决方案都不适合我。我已经看到使用 Json.NET 反序列化键值对数组。这是一个可能的解决方案,但是虽然我并不反对在必要时编写自定义反序列化程序,但如果可能的话,我更愿意使用现有的东西。

下面是我的数据示例:

[{"Parcel": "Parcel_ID"}, {"Parcel": "LegalAddress"}, {"Fee": "Amount"}]

我尝试过的事情:

IEumerable<KeyValuePair<string, string>>不起作用,键和值均为空。

IEnumerable<Tuple<string, string>>不起作用,很尴尬。

IEnumerable<IDictionary<string, string>>有效,但由于需要做FirstOrDefault().(Key|Value)而很难使用。

如果你的项目中多次有这种结构,最好的办法是使用 Newtonsoft 创建自己的转换器,如本文所述。

相关内容

  • 没有找到相关文章

最新更新