C# 泛型JSON,用于将给定类型的任何模式转换为公共类型

C# 泛型JSON,用于将给定类型的任何模式转换为公共类型,c#,json,asp.net-web-api,jsonschema,jsonserializer,C#,Json,Asp.net Web Api,Jsonschema,Jsonserializer,我有多个web服务使用类似类型的json请求作为输入。我需要一个通用的json 模式结构,可以适合任何json请求 下面是json模式示例: Schema1 : { "param1": "string", "param2": "string", "param3": "string", "param4": [ { "p1": "string", "p2": "string", "p3": "string", "p4": "string", "p5": int,

我有多个web服务使用类似类型的json请求作为输入。我需要一个通用的json 模式结构,可以适合任何json请求

下面是json模式示例:

Schema1 : 
{
  "param1": "string",
  "param2": "string",
  "param3": "string",
  "param4": [
{
  "p1": "string",
  "p2": "string",
  "p3": "string",
  "p4": "string",
  "p5": int,
  "p6": int,
  "p7": int,
  "p8": datetime,
  "p9": datetime
}
]
}
模式2:

   {
"param1": "string",
"param2": "string",
"param3": "srting"
"param4": [
    {
        "p1": datetime,
        "p2": "string",
        "p3": "string",
        "p4": "string",
        "p5": "string",
        "p6": int,
        "p7": [
            {
                "par1":datetime,
                "par2": "string",
                "par3": int
            },
            {
                "par1":datetime,
                "par2": "string",
                "par3": int
            },{
                "par1":datetime,
                "par2": "string",
                "par3": int
            }
        ]
    }
  ]
 }

我可以有一个能容纳上述两种结构的通用模式吗?

你可以使用
oneOf
anyOf
来拥有多个子模式。我不确定我是否完全理解你的问题。这在JSON模式中可能吗?对你有什么理由认为这是不可能的吗?到目前为止你试过什么?是什么导致你目前的理解?我想有一个可以容纳这两个请求的通用模式,这样我就可以使它对多个API通用。哦,那么你的问题是“如何拆分模式以使其可重用”?