【问题标题】:LInq on a complex Object Converted from Json从 Json 转换的复杂对象上的 LInq
【发布时间】:2019-02-06 05:39:20
【问题描述】:

我有一个从 Web 服务的 json 响应创建的类。我需要过滤 V[1] 值为 12 的行集合。我可以通过正确的 linq 获得一些帮助来过滤这个集合吗?我迷失在这个物体上。我将其减少为List<Row>,但这让我感到困惑。

json and class code

json对象的结构图

【问题讨论】:

  • 这里的命名很糟糕,很难理解
  • 在 json 对象中?我完全同意
  • 另外,当您说I need to filter the row collection 时,您到底是什么意思。只返回行,或者返回整个集合,只返回包含 v[1] = 12rows
  • 从 Web 服务检索整个集合后的目标是获取仅包含 V[1] 位置为 12 的行的行集合。然后我需要使用这些行中的另一个值调用其他服务调用。

标签: c# json linq


【解决方案1】:
var filterdRows = Data.Rows.Where(x => x.C[1].V.Integer == 12);

xRow 对象。 x.C[1]Row 中的第二个C。我认为,C 是一行的一列。 x.C[1].V.Integer 是第二列的值,如果它包含整数值。

结果将是一个可枚举的Rows。

【讨论】:

  • 这可能会破坏整个商店
  • 如此接近 Mark var filterdRows = lc.Data.Rows.Where(x => x.C[1].V?.Integer == 12);但我现在可以告诉你,我不会想到这一点。那确实给了我 1 行
  • @michael 我完全同意。不过我能做的不多,我无法控制服务
  • @Tim 不要忘记x.C.Count >= 2 否则迟早会抛出
  • @MichaelRandall 没关系
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-26
相关资源
最近更新 更多