首页 > 解决方案 > 将 JSON 反序列化为 C# 模型时出现问题

问题描述

我正在尝试将下面的 json 反序列化为 C#,但没有办法实现相同的目标。请考虑“盒子”节点的数量不是固定的。但是,可扩展性和 HighData 节点是单一的。

我尝试使用 Dictionary 但 Scalability 和 HighData 节点有不同的模型

{ 
   "Cluster":{ 
      "Box1":{ 
         "Instance":"2",
         "CPU":"2"
      },
      "Box2":{ 
         "Instance":"1",
         "CPU":"2"
      },
      ....
      "BoxN":{ 
         "Instance":"N",
         "CPU":"2"
      },
      "Scalability":{ 
         "Type":"Hardware",
         "Kneepoint":176708
      },
      "HighData":{ 
         "DataRequired":1,
         "DataOptional":2
      }
   }
}

标签: c#-4.0asp.net-core-webapijson-deserialization

解决方案


使用 Newtonsoft Json 和动态,例如:

JsonConvert.DeserializeObject<dynamic>(json)

或通过使用 ExpandoObject 类 ExpandoObject 类


推荐阅读