【发布时间】:2020-10-24 07:19:03
【问题描述】:
我有一个 ASP.NET Core 3.1 WebAPI,它包含一个名为 ImagePath 的类模型,该模型只有一个名为 filename 的属性,我的问题是如何将此类的列表转换或映射到字符串列表。 . 我的意思是它采用属性filename 并将其添加到字符串列表中,但不使用任何类型的循环(for、foreach、while..)
来自 API 的数据
"images": [
{
"filename": "6f2290d2-c26f-4132-b7dc-c70ca3bbadb5.jpg"
},
{
"filename": "8057c245-d980-40b5-964e-5fda69684300.jpg"
},
{
"filename": "a085f172-e711-4520-abab-1defc8e9dde8.jpg"
},
{
"filename": "db5c2296-0679-4e02-9e34-674aaa578be8.jpg"
}
],
我想要的是这个
"images": [
"6f2290d2-c26f-4132-b7dc-c70ca3bbadb5.jpg",
"8057c245-d980-40b5-964e-5fda69684300.jpg",
"a085f172-e711-4520-abab-1defc8e9dde8.jpg",
"db5c2296-0679-4e02-9e34-674aaa578be8.jpg"
],
有什么解决办法吗?
【问题讨论】:
-
“不使用任何类型的循环(for、foreach、while..)”为什么呢?如果要获取所有值,则必须查询所有值。这通常通过以某种方式迭代成员来完成。你能详细说明你想要达到的目标吗?无论如何,您可以使用 JSON 序列化程序,例如NewtonSoft,从 JSON 中获取数据并将数据写入 JSON。
-
var stringList = classList.Select(x => x.filename).ToList();。这仍然会遍历所有项目,但可能没有办法解决。 -
没有“没有循环”这样的东西。 Linq 在后台运行循环。
-
@devNull 你知道这也会迭代集合吗?正如罗伯特已经指出的那样:“没有循环”是毫无意义的要求。
-
为什么没有循环?这可以帮助我们更好地回答。
标签: c# json asp.net-core asp.net-web-api serialization