首页 > 解决方案 > 任何 JSON 字符串转换为 C# 对象而不定义 pojo

问题描述

我必须将任何给定的 JSON 字符串反序列化为 C# 对象。JSON 字符串是动态的。所以我不能为那个对象定义类结构。我想要一些 C# 应该在内部处理的动态方法。

我已经尝试过使用

dynamic myObject = JsonConvert.DeserializeObject<dynamic>(Json);

上面给了我一些元数据计数和复杂的结构,这没有帮助。我只需要对象。我也用过

object result = new JavaScriptSerializer().DeserializeObject(Json);

上面不处理 Array 类型。示例 JSON

json1:[{"associatedToId":null,"associationType":null,"isObsolete":null}]

json2:{"commercialName":"[\"\",\"\"]","commercialActivity":"[\"\",\"\"]"}

json3:["شر*************************","Gu******************************"]

我需要代码将其反序列化为对象。我将进一步使用它来递归和更正数据。

标签: c#json

解决方案


您可以通过反序列化为字典对象来做到这一点,该对象本身是一个集合或名称/值对。

例如,请参见此处:


推荐阅读