C# httpwebrequest - 使用系统库创建 json 主体
Posted
技术标签:
【中文标题】C# httpwebrequest - 使用系统库创建 json 主体【英文标题】:C# httpwebrequest - create json body with system library 【发布时间】:2022-01-06 05:50:47 【问题描述】:是否可以使用系统库为 HttpWebRequest 创建 json 主体?我尝试了类似以下的方法,但它不起作用 - 我认为缺少一些东西:
string json = "\"Datum\":\"" + sDateTime + "\"," +
"\"ATZ\":\"1\"," +
"\"PZN\":\"2\"," +
"\"Product\":\"3\"," +
"\"Dose\":\"4\"," +
"\"Unit\":\"5\"," +
"\"End\":\"6\"";
【问题讨论】:
看看这里docs.microsoft.com/en-us/dotnet/api/… 这应该会给你一个更好的处理方式 请不要尝试像这样手动生成 JSON。您应该使用专用模型类或匿名类型并使用 JSON 序列化 - .Net Core 3+ 上的 Json.net 或 System.Text 您尝试使用的服务是否有 swagger 文档? (openapi 规范文档)。 AutoRest 和 NSwag 等工具会使用它并生成大量针对调用 API 函数而优化的 C# 代码。编写等效的质量/实用程序代码需要人类几天的时间 【参考方案1】:你可以使用 System.Text.Json
例子:
public class Data
public DateTime Datum get; set;
public string Atz get; set;
var data = new Data()
Datum = DateTime.Now,
Atz = "1"
;
var jsonObject = System.Text.Json.JsonSerializer.Serialize(data);
jsonObject 将包含 '"Datum":"2021-11-29T14:56:00.5436035+02:00","Atz":"1"'
阅读更多 - JSON serialization and deserialization (marshalling and unmarshalling) in .NET - overview
【讨论】:
以上是关于C# httpwebrequest - 使用系统库创建 json 主体的主要内容,如果未能解决你的问题,请参考以下文章
C#多线程环境下调用 HttpWebRequest 并发连接限制
如何使用 c# 使用 httpwebrequest 从 json api 获取数据?
C# 使用 HTTPWebRequest 拉取网页并从站点执行 javascript
C# httpwebrequest 和 javascript