序列化为 JSON 并在 属性 名称中加上括号

Serialize to JSON with parenthesis in property name

我正在使用 paypal api 进行一些付款。

如果我查看 SetExpressCheckout,某些字段的格式为 PAYMENTREQUEST_n_AMT。这对我来说没问题,因为我有一个这样的请求 class:

public class SetExpressCheckoutRequest 
{
     public string PAYMENTREQUEST_0_AMT { get; set; }
}  

行得通。现在我需要使用 PAY operation ,它有像

这样的字段
receiverList.receiver(0).email 

由于 c# 属性 名称中不允许使用括号,我应该如何根据我的要求 class 编写相应的 属性。我不想使用 Dictionary<string, string>.

我可以配置 JSON.net 来处理替代方案,例如将 _ 转换为 ( 吗?

您可以使用 JsonProperty 属性自定义 JSON 属性 名称:

public class Request
{
    [JsonProperty("receiverList.receiver(0).email")]
    public string Email { get; set; }
}