Stripe.net / JSON.net条件映射在相同的属性名称上。

时间:2014-01-06 19:20:49

标签: c# json.net stripe.net

我正在尝试添加对stripe.com已在其api中实现的扩展功能的支持,但不确定如何处理此问题。基本上,如果您发送请求,他们将返回一个具有“FK”id的对象到另一个对象。如果您使用expand [] = object发送请求,它将通过实际对象而不是id发送。我的问题是他们都使用相同的属性名称。

C#对象

public class MyObject
{
    [JsonProperty("object_id")]
    public int Id {get;set;}
    [JsonProperty("sub_object"]
    public string SubObjectId {get;set;}
    [JsonProperty("sub_object"]
    public SubObject SubObject {get;set;}    // this is the object
}

带有Id的示例Json

{
   object_id : "1",
   sub_object: "12345"
{

使用Object代替

的Json示例
{
    object_id : "1",
    sub_object: {
                  obj_id : "1",
                  prop : "whatever"
                }
}

理想情况下,我不必为每个实例创建单独的对象,因为其中一些对象具有可以展开的多个属性。我想知道如果它返回json的方法,有些如何检查sub_object是否只是一个字符串,然后将其映射到SubObjectId字段,如果sub_object是一个对象,那么让它映射到SubObject字段。

据我所知,你不能拥有一个C#对象,其中多个属性映射到单个c#属性,所以此时我有点无能为力。

0 个答案:

没有答案