如何在 JSON 中创建数组?
How to create an array in JSON?
我怎样才能 post 这样的 HTTP 请求?我试着做这样的东西,但我不知道如何制作 []
部分。感谢您的帮助!
{
"ID": 1,
"calls": [
{
"number": 702061966,
"duration": "00:02:21",
"date" : "2020-11-26 12:45:00"
},
{
"number" : 123456789,
"duration" : "00:15:48",
"date" : "2020-11-27 08:23:00"
},
{
"number" : 123456789,
"duration" : "00:09:33",
"date" : "2020-11-28 16:02:00"
}
]
}
首先您需要一个结构来表示 C# 中的数据。对于给定的 JSON 这可能看起来像这样:
public record MyRequest(int ID, IEnumerable<MyItem> Calls);
public record MyItem(int Number, string Duration, string Date);
现在您创建请求
var req = new MyRequest(1, new List<MyItem> {
new MyItem(702061966, "00:02:21", "2020-11-26 12:45:00"),
...
});
...然后发送
var response = await httpClient.PostAsJson("some/url", req);
代码示例旨在作为第一指导,未经测试。您可以在这里阅读更多相关信息:
- 记录:https://docs.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-9#record-types
- HTTP 客户端:https://docs.microsoft.com/en-us/dotnet/api/system.net.http.httpclient?view=net-5.0
- PostAsJson(): https://docs.microsoft.com/en-us/dotnet/api/system.net.http.json.httpclientjsonextensions.postasjsonasync?view=net-5.0
- JSON: https://www.json.org/json-en.html
I dont know how to make [] section
任何集合(IEnumerable<>
、List<>
、...)都将序列化到 JSON 列表。
备注:
- 代码示例使用 c# 9 功能
- 您可能想要使用字符串以外的其他数据类型,例如
DateTime
我怎样才能 post 这样的 HTTP 请求?我试着做这样的东西,但我不知道如何制作 []
部分。感谢您的帮助!
{
"ID": 1,
"calls": [
{
"number": 702061966,
"duration": "00:02:21",
"date" : "2020-11-26 12:45:00"
},
{
"number" : 123456789,
"duration" : "00:15:48",
"date" : "2020-11-27 08:23:00"
},
{
"number" : 123456789,
"duration" : "00:09:33",
"date" : "2020-11-28 16:02:00"
}
]
}
首先您需要一个结构来表示 C# 中的数据。对于给定的 JSON 这可能看起来像这样:
public record MyRequest(int ID, IEnumerable<MyItem> Calls);
public record MyItem(int Number, string Duration, string Date);
现在您创建请求
var req = new MyRequest(1, new List<MyItem> {
new MyItem(702061966, "00:02:21", "2020-11-26 12:45:00"),
...
});
...然后发送
var response = await httpClient.PostAsJson("some/url", req);
代码示例旨在作为第一指导,未经测试。您可以在这里阅读更多相关信息:
- 记录:https://docs.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-9#record-types
- HTTP 客户端:https://docs.microsoft.com/en-us/dotnet/api/system.net.http.httpclient?view=net-5.0
- PostAsJson(): https://docs.microsoft.com/en-us/dotnet/api/system.net.http.json.httpclientjsonextensions.postasjsonasync?view=net-5.0
- JSON: https://www.json.org/json-en.html
I dont know how to make [] section
任何集合(IEnumerable<>
、List<>
、...)都将序列化到 JSON 列表。
备注:
- 代码示例使用 c# 9 功能
- 您可能想要使用字符串以外的其他数据类型,例如
DateTime