使用 System.Text.Json 将 json 数组反序列化为对象 C#

Deserializing a json array into a object C# using System.Text.Json

我有一些 JSON 从 API 返回,形式为

[
    {
        "param1":"value",
        "param2":"value2",
        ...
    },
    {
        "param1":"value",
        "param2":"value2",
         ...
    }
]

我有一个 class Foo:

public class Foo
{
    public string param1 { get; set; }
    public string param2 { get; set; }
}

我正在使用 System.Text.Json 库。

如果我这样反序列化:

var output = JsonSerializer.Deserialize<List<Foo>>(JsonStr)

一切正常,在 'output' 中我有一个列表 Foo

但是,我想反序列化为另一个 class,这样我就可以从一个基 class 继承一些东西,它可以执行一些检查,看看是否有数据和其他一些零碎的东西。

public class Bar : BarBase
{
    public List<Foo> data { get; set; }
}

显然,如果我尝试反序列化为 Bar,它会抛出无法将 JSON 映射到对象的错误。

是否有任何属性可用于声明 JSON 应映射到 'data' 或者是否有不同的方法来处理此问题?

干杯 马克

问题可以通过让 Bar class 继承 List

来解决
public class Bar : List<Foo>
{
  public List<Foo> data { get; set; }
}