【发布时间】:2021-12-28 10:36:01
【问题描述】:
我有一个如下所示的 JSON:
"items": [
"something": "",
"something_2": "",
"field_of_interest": {
"blah": [
{
"placeholder": "1",
"category": "random"
},
{
"placeholder": "2",
"category": "random",
"field_to_null": {
"something_here": "",
}
}
]
}
]
我正在尝试将“field_to_null”字段设置为空。这些 JSON 字段都封装在对象中,我的表达式如下所示:
Items.Select(x => x.FieldOfInterest)
.Select(y => y.Blah
.Select(z => z.FieldToNull).ToList().ForEach(a => a = null));
但我在第二个.Select 上遇到错误。发现错误here。 Items 是 Items 对象的列表,Blah 是 FieldOfInterest 对象的列表。我对 C# 和编写 lambda linq 表达式还很陌生,因此不胜感激。
【问题讨论】:
-
首先,Linq 真正用于查询(因此是 Q)而不是用于改变对象。我个人讨厌
ForEach扩展。其次,您给了我们 JSON,但我们不知道 C# 类是什么。什么是items? -
@DavidG 我同意,但我正在使用此代码编写测试,如果我可以将字段设置为 null 并对其运行测试会很方便。
Items是Items对象的列表,Blah是FieldOfInterest对象的列表。
标签: c# .net linq lambda variable-assignment