C# 如何获取返回格式为Json字符串的put方法的响应
我使用WebClient使用Put方法访问C#代码中的API。我想知道如何获取返回格式为Json字符串的Put方法的响应 请检查下面的代码和示例Json数据。实际上,我想使用WebClient方法通过api发送这些Json数据,然后我最终想要得到发送数据的响应。 希望天气晴朗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
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数据检查我的注释