将不同的JSON模式反序列化为同一对象

时间:2018-08-20 05:00:09

标签: c# json json.net

我正在生成JSON,然后计划使用json.net反序列化它。为了将来的可扩展性,我将添加其他规则,这些规则可以对rule_msgs具有唯一的属性。使用一个单独的rule_msg对象会有任何不利之处,该对象将基于不同的规则(速度,长度)而具有不同的属性?

{
   "Rule":[
      {
         "rule_code":"Speed",
         "rule_desc":"Used to validate speed",
         "rule_msg":[
            {
               "speed_limit":50,
               "rule_id":1,
               "Rule Level":"Manditory"
            }
         ]
      },
      {
         "rule_code":"length",
         "rule_desc":"Used to validate lenght",
         "rule_msg":[
            {
               "Size":500,
               "rule_id":1,
               "Rule Level":"Relax"
            }
         ]
      }
   ]
}

我正在考虑使用的示例对象。

private class Jsonobj
{
    List<Rule> Rules { get; set; }
}


private class Rule{

    string rule_code {get; set; }

    string rule_desc {get; set; }

    IEnumerable<Rule_msg> { get; set;}

}

private class Rule_msg{

   int speed {get; set;}

   int length {get; set;}

}

0 个答案:

没有答案