C# 如何获取返回格式为Json字符串的put方法的响应

C# 如何获取返回格式为Json字符串的put方法的响应,c#,C#,我使用WebClient使用Put方法访问C#代码中的API。我想知道如何获取返回格式为Json字符串的Put方法的响应 请检查下面的代码和示例Json数据。实际上,我想使用WebClient方法通过api发送这些Json数据,然后我最终想要得到发送数据的响应。 希望天气晴朗 using (var client = new WebClient()) { client.Headers.Add("owner_id", "78c

我使用WebClient使用Put方法访问C#代码中的API。我想知道如何获取返回格式为Json字符串的Put方法的响应

请检查下面的代码和示例Json数据。实际上,我想使用WebClient方法通过api发送这些Json数据,然后我最终想要得到发送数据的响应。 希望天气晴朗

  using (var client = new WebClient())
        {
            client.Headers.Add("owner_id", "78c6beda-54a2-11ea-b064-0af3f8b02c24");
            client.Headers.Add("gstin", "29AAFCD5862R000");
            string url = "https://einvoicing.internal.cleartax.co/v2/eInvoice/generate";
            client.UploadString(url, "PUT", DATA);
        }
Json数据:-

[
  {
    "transaction": {
      "Version": "1.01",
      "TranDtls": {
        "TaxSch": "GST",
        "SupTyp": "EXPWOP",
        "RegRev": "N",
        "EcmGstin": null,
        "IgstOnIntra": null
      },
      "DocDtls": {
        "Typ": "INV",
        "No": "G/E/20-21/0175",
        "Dt": "11/09/2020"
      },
      "SellerDtls": {
        "Gstin": "29AAFCD5862R000",
        "LglNm": "K.H Exports India Private Limited",
        "TrdNm": "K.H Exports India Private Limited (Glove Division)",
        "Addr1": "142/,Trunk Road",
        "Addr2": "Perumugai",
        "Loc": "Via Vellore",
        "Pin": "560037",
        "Stcd": "29",
        "Ph": "04162253164",
        "Em": "edp.kharind@khindia.com"
      },
      "BuyerDtls": {
        "Gstin": "URP",
        "LglNm": "H M FINANCE AB",
        "TrdNm": "H M FINANCE AB",
        "Pos": "96",
        "Addr1": "MASTER SAMUELSGATAN 46 A,  106 38 STOCKHOLM SWEDEN  ",
        "Addr2": null,
        "Loc": "Sweden",
        "Pin": "999999",
        "Stcd": "96",
        "Ph": null,
        "Em": null
      },
      "DispDtls": null,
      "ShipDtls": {
        "Gstin": "URP",
        "LglNm": "LOGIX FZCO",
        "TrdNm": "LOGIX FZCO",
        "Addr1": "PO BOX 261422 PLOT NO. S21515, SOUTH BLOCK JEBEL ALI FREE ZONE DUBAI UNITED ARAB EMIRATES ",
        "Addr2": null,
        "Loc": "United Arab Emirates",
        "Pin": "999999",
        "Stcd": "96"
      },
      "ItemList": [
        {
          "SlNo": "0001",
          "PrdDesc": "FINE LEATHER GLOVES MADE OUT OF SHEEP LEATHER FOR LADIES. ",
          "IsServc": "N",
          "HsnCd": "42032920",
          "Barcde": null,
          "Qty": 10.0,
          "FreeQty": 0.0,
          "Unit": "PR",
          "UnitPrice": 452.50,
          "TotAmt": 4525.00,
          "Discount": 0.0,
          "PreTaxVal": 4525.00,
          "AssAmt": 4525.00,
          "GstRt": 0.0,
          "IgstAmt": 0.0,
          "CgstAmt": 0.0,
          "SgstAmt": 0.0,
          "CesRt": 0.0,
          "CesAmt": 0.0,
          "CesNonAdvlAmt": 0.0,
          "StateCesRt": 0.0,
          "StateCesAmt": 0.0,
          "StateCesNonAdvlAmt": 0.0,
          "OthChrg": 0.0,
          "TotItemVal": 4525.00,
          "OrdLineRef": null,
          "OrgCntry": null,
          "PrdSlNo": null,
          "BchDtls": null,
          "AttribDtls": null
        }
      ],
      "ValDtls": {
        "AssVal": 4525.00,
        "CgstVal": 0.0,
        "SgstVal": 0.0,
        "IgstVal": 0.0,
        "CesVal": 0.0,
        "StCesVal": 0.0,
        "Discount": 0.0,
        "OthChrg": 0.0,
        "RndOffAmt": 0.0,
        "TotInvVal": 4525.00,
        "TotInvValFc": 0.0
      }
]

UploadString重新返回字符串,然后必须对其进行反序列化。我建议使用Newtonsoft.Json,您必须使用NuGet添加其引用

 using (var client = new WebClient())
        {
            client.Headers.Add("owner_id", "78c6beda-54a2-11ea-b064-0af3f8b02c24");
            client.Headers.Add("gstin", "29AAFCD5862R000");
            string url = "https://einvoicing.internal.cleartax.co/v2/eInvoice/generate";
            string res = client.UploadString(url, "PUT", DATA);
            var obj = Newtonsoft.Json.JsonConvert.DeserializeObject<YourClass>(res);
        }
使用(var client=new WebClient())
{
添加“业主id”、“78c6beda-54a2-11ea-b064-0af3f8b02c24”);
客户。标题。添加(“gstin”、“29AAFCD5862R000”);
字符串url=”https://einvoicing.internal.cleartax.co/v2/eInvoice/generate";
string res=client.UploadString(url,“PUT”,数据);
var obj=Newtonsoft.Json.JsonConvert.DeserializeObject(res);
}

您是否有示例代码,以便非常清楚……请详细说明。例如,您能否向我们展示整个方法,而不仅仅是这个片段?它在uploadString方法中显示了一条错误消息“远程服务器返回了一个错误:(415)不支持的媒体类型”。请使用示例json数据检查我的注释