我将如何在 .NET Core 5.x 中为我的 JSON 字符串创建数据模型

How would I create the data models for my JSON string in .NET Core 5.x

我正在努力跟进:

https://docs.microsoft.com/en-us/aspnet/core/fundamentals/http-requests?view=aspnetcore-5.0#make-post-put-and-delete-requests

这是我需要发送到 API 端点的 JSON 字符串:

{
    "search":
        [
            {"queryString":"test"},
            {"queryParameter01": "blah blah blah"},
            {"queryParameter02": "blah blah blah"},
            {"queryParameter03": "blah blah blah"}
        ]
}

对于我的数据模型,我有这个:

public class SearchRequest
{
    public String search{ get; set; }
}

public class QueryStringRequest
{
    public String queryString { get; set; }
}

public class QueryParameterRequest
{
    public String queryParameter { get; set; }
}

我知道我需要 SearchRequest 对象中的 QueryStringRequestQueryParameterRequest 对象数组,但我想不通。另外,SearchRequest 对象 return 是字符串还是其他东西?

我问是因为稍后我将使用 JsonSerializer.Serialize 将我的对象转换为 JSON 字符串以发送到 API 端点,所以对 return 要序列化为字符串的字符串。

由于您的 json 显示您的“搜索”数组中的每个对象都是不同的,并且数组只能有一种类型模型,因此您不能像 [=18= 中显示的那样具有 json ] 可以尝试使用 dictionary.Here 是一个模型:

public class JsonModel { 
        public Dictionary<string, string> search { get; set; }
    }

你的 Json 会像:

{
    "search":
        {
            "queryString":"test",
            "queryParameter01": "blah blah blah",
            "queryParameter02": "blah blah blah",
            "queryParameter03": "blah blah blah"
        }
}

这样您就可以在“搜索”中有许多不同的键和值。