使用属性名称中的括号序列化为JSON

时间:2015-02-11 18:05:05

标签: c# json json.net

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

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

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

有效。现在我需要使用包含

等字段的PAY operation
receiverList.receiver(0).email 

由于c#属性名称中不允许使用括号,我应该如何在请求类上编写相应的属性。我不想使用Dictionary<string, string>

我可以配置JSON.net来处理转换_(之类的替代方案吗?

1 个答案:

答案 0 :(得分:4)

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

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