![](/img/trans.png)
[英]Is there official guidance for beginning the name of a boolean property with 'Is'? (e.g., 'IsDeleted')
[英]Using dot notation in a JSON property name (e.g. “payment.token”)
我正在處理必須發出API請求的腳本。 當前,要發送到API的對象如下所示:
var request = new
{
amount = new
{
currency = amount.Currency,
value = amount.Amount
},
additionalData = new AdditionalData
{
ApplePayToken = paymentToken
}
};
問題是,API需要以下格式來接收extraData屬性:
"additionalData":{
"payment.token": "some-token"
}
我正在使用以下代碼嘗試重新格式化上面的對象:
internal partial class AdditionalData
{
[JsonProperty(PropertyName="additionalData.payment.token")]
public string ApplePayToken { get; set; }
}
我該如何工作? 目前,該代碼似乎並未更改請求對象的任何內容。 它生成如下:
"additionalData":{
"ApplePayToken": "some-token"
}
由於請求的其余部分似乎是一個匿名對象,而不是僅為AdditionalData
創建類,因此可以使用Dictionary
:
var request = new
{
amount = new
{
currency = amount.Currency,
value = amount.Amount
},
additionalData = new Dictionary<string, object>
{
{ "payment.token", "some-token" }
}
};
既然你說你是新來的C#,請注意,我用的字典,這相當於預先建立的字典並將其分配給anyonymous對象的對象初始化模式additionalData
:
Dictionary<string, object> addtData = new Dictionary<string, object>();
addtData.Add("payment.token", "some-token");
var request = new
{
amount = new
{
currency = amount.Currency,
value = amount.Amount
},
additionalData = addtData
};
另外,您可以在C#中創建所需的所有類:
class Request
{
public Amount amount { get; set; }
public AdditionalData additionalData { get; set; }
}
class Amount
{
public string currency { get; set; }
public decimal value { get; set; }
}
class AdditionalData
{
[JsonProperty("payment.token")]
public string applePayToken { get; set; }
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.