【问题标题】:C# httpwebrequest - create json body with system libraryC# httpwebrequest - 使用系统库创建 json 主体
【发布时间】: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# 代码。编写等效的质量/实用程序代码需要人类几天的时间

标签: c# json


【解决方案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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-01-24
    • 1970-01-01
    • 2011-01-12
    • 1970-01-01
    • 1970-01-01
    • 2010-12-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多