【发布时间】:2021-04-17 19:40:49
【问题描述】:
我应该阅读以下 JSON 响应:
ValueFilters:[
{field:"amount", comparitor:"GREATER", "value": 0},
{operator:"AND"},
{field:"id", comparitor:"LESS", "value": 5}]
如果它不包含 'operator' 对象,那么我不会有任何问题,但我如何构造等效的 C# 对象?
【问题讨论】:
-
一些在线 json 到 c# 转换器可能会有所帮助,例如:link
-
比较复杂,因为 json 数组中的每个对象都有不同的形状。如果强类型对您来说不重要,您始终可以将其反序列化为
dynamic。否则你需要实现你自己的JsonConverter -
另一种方法是将所有 4 个字段作为可为空的类型放在一个类型中。对于第一行和第三行,其中 3 行将是非空的,而对于第二行,这 3 行将是空的,
operator字段将是非空的。您的代码需要相应地观察和处理。
标签: c# json json-deserialization