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