1

我正在尝试添加对 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# 属性,所以我在这一点上有点无能为力。

4

0 回答 0