您好 stackoverflow 用戶,
我目前正在嘗試將一些資料發布到我的 C# 專案中的 webhook。但是我在嘗試在字典中推送超過一維物件時遇到了一些問題。
我正在使用 C# 給定的方法:
private async void SendPOST(Dictionary<string, string> val)
{
var content = new FormUrlEncodedContent(val);
var restponse = await client.PostAsync("https://myWebServer.com/fakeaddress", content);
var responseString = await restponse.Content.ReadAsStringAsync();
Print("Respons: " responseString);
}
當要求如下所示時,這適用于字典中的默認鍵值對:
"customer": "peter",
"bank": "global bank",
"value": "2000.00",
"currency": "USD",
"location": "Berlin"
但是 webhook 需要這樣的東西:
"customer": "peter",
"bank": "global bank",
"accountData": {
"value": 2000.00,
"currency": "USD"
},
"location": "Berlin"
如何發布必填欄位?我確實嘗試過簡單地使用字串構建器并自己創建 JSON,但 PostAsync 只接受內容物件,而 FormUrlEncodedContent 只接受簡單的鍵值對。我在這里錯過了什么嗎?
編輯1:格式
uj5u.com熱心網友回復:
您應該使用自定義物件而不是 Dictionary<string, string>
public class AccountData{
public double Value {get; set;}
public string Currency {get; set;}
}
public class Account {
public string Customer {get; set;}
public string Bank {get; set;}
public AccountData AccountData {get; set;}
public string Location {get; set;}
}
然后你可以將物件序列化為 json 就可以了。
然后改變
var content = new FormUrlEncodedContent(val);
到
var content = new StringContent(<yourserializedjson>, Encoding.UTF8, "application/json");
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/458976.html
下一篇:如何在Flask中進行測驗?
