【问题标题】:Dynamically deserialize from JSON从 JSON 动态反序列化
【发布时间】:2018-04-09 11:46:57
【问题描述】:

我这里有一些 JSON。问题是它不再匹配类数据类型。我的问题是;是否可以动态反序列化 JSON?即,如果我有完全不同的 JSON,我可以将它们反序列化为两个完全不同的类,而无需先知道我想将它们反序列化成哪个类。

【问题讨论】:

  • 这两种类型是彼此的子集吗?
  • “添加另一个 JSON 类型”是什么意思?您的意思是添加另一个字段?
  • 例如。第一个json类型就像顶部的那个。第二个是具有不同字段的完全不同的 JSON 类型。
  • 没错。这可能吗?

标签: c# json deserialization


【解决方案1】:

你可以使用newtonsoft反序列化动态对象

就像下面的代码片段。

 dynamic dynamicObj = JsonConvert.DeserializeObject(jsonStr);
 string name = dynamicObj.data.code;

但在我个人偏好中是使用强类型。我认为它更方便。

您可以使用quictype 从 JSON 对象生成 c# 类

quicktype 从 JSON 生成强类型模型和序列化器, JSON Schema 和 GraphQL 查询,让使用 JSON 变得轻而易举 在任何编程语言中类型安全。

希望答案对你有所帮助。

【讨论】:

    猜你喜欢
    • 2021-09-14
    • 2019-12-20
    • 1970-01-01
    • 1970-01-01
    • 2015-11-22
    • 1970-01-01
    • 1970-01-01
    • 2012-11-11
    • 1970-01-01
    相关资源
    最近更新 更多