【发布时间】:2020-11-25 21:05:44
【问题描述】:
我有一个变化很大的 json 数据集。它可以有一个可以是对象或列表的字段。如果在摄取数据时它可以是或,我如何将它们映射到数据模型属性中。我可以有一个 if else 语句的列表来检查一个属性是一个列表还是一个对象,但是对于 10 个字段会变得相当大并使代码变得丑陋。
field:{property1: 3, property2:4}
或
field:{[property1: 3, property2:4], [property1: 5, property2:6]}
【问题讨论】:
-
只要有一个带有
property和property2的模型并将其反序列化为List<YourModel>。 -
使用
JsonConvert.Deserialize<List<YourModel>>(yourJson)。 -
假设列表中的对象与单个对象具有相同的架构(从缺少minimal reproducible example 的问题中并不清楚),这看起来像是How to handle both a single item and an array for the same property using JSON.net 的副本。同意吗?