如果像 [] 一样传递,则访问查询参数值

Access Query params value if passing like []

请求 URL 如下所示

?Page=1&Count=10&q[]=Name:[Abc, Xyz]&q[]=City:[XXX, YYY]&q[]=ID:[1,2]

我正在使用 Asp.Net Core API 和 C#。

控制器代码:

public async Task<ActionResult> GetUserListAsync([FromQuery]Data data)
{
   ----
   ----
}

数据对象class

public class Filters
{
    public List<string> Name { get; set; }
    public List<string> City { get; set; }
    public List<int> ID { get; set; }
}

public class Data
{
    public List<Filters> q { get; set; }
    public int Page { get; set; }
    public int Count { get; set; }
}

当我这样尝试时,我得到了字段 PageCount 的值。但是我无法获取字段 q.

的值

如何从请求中获取字段 q 的值?

否则,如果我按照下面的方式给出这样的值,如何取值?

&query_hash[0][field]=Id&query_hash[0][Values][]=1&query_hash[1][field]=Date&query_hash[1][Values][from]=2020-03-11T18.30.00.000Z&query_hash[1][Values][from]=2020-03-12T18.30.00.000Z

在请求中传递数组 url 如下所示

?Page=1&Count=10&q[0].Name=Abc&q[0].Name=xyz&q[0].City=AAA&q[0].ID=1&q[0].ID=2&q[1].Name=rrr

结果: