【发布时间】:2023-03-04 05:27:01
【问题描述】:
我有一个 JSON 响应,其中包含几个作业的列表,每个作业都可以有标签,标签由键/值对组成,其中值是值列表。我正在尝试在 C# 中形成一个 LINQ 查询,该查询返回一个作业 ID 列表,其中每个作业都有一个带有 Key="Area" 的标签,并且值包含 "Test"。
我已经成功地将 JSON 反序列化为类,但是我是 LINQ 新手,并且已经花费了大量时间来试验和谷歌搜索可能的解决方案,但无济于事。
样本数据:
{
jobs: [
{
id: 1
tags: [
{
key: "Area"
values: [ "TEST", "SHIP" ]
}
}
{
id: 2
tags: [
{
key: "Area"
values: [ "BUILD" ]
}
}
{
id: 3
tags: [
{
key: "Area"
values: [ "INSPECT", "TEST", "SHIP" ]
}
{
key: "Status"
values: [ "HOLD", "SPECIAL" ]
}
}
{
id: 4
tags: [
{
key: "Area"
values: [ "BUILD", "TEST" ]
}
}]
}
类结构:
public class Tag
{
public string key { get; set; }
public List<string> values { get; set; }
}
public class Job
{
public int id { get; set; }
public List<Tag> tags { get; set; }
}
所以我想要的是 Job.id 列表,其中 job.tags 包含 Tag 其中 Tag.values 包含“测试”。在这个示例中,
1
3
4
任何 LINQ 专家都知道如何解决这个问题?
【问题讨论】: