动态地将 json 反序列化为传入的任何对象。c#

2024-03-02

我想做的是将 json 反序列化为 c# 中的对象。我想要做的是传递任何对象获取其类型并使用 JSON.Net 库将 json 反序列化为该特定对象。这是代码行。

 Object someObject1 = someObject;
 string result = await content.ReadAsStringAsync();
 return JsonConvert.DeserializeObject<someObject1.GetType()>(result);

最后一行抛出异常

 operator '<' cannot be applied to operands of type 'method group'

如何在没有 C# 抱怨的情况下获取 中的数据类型。我需要做什么才能使这段代码正常工作?我缺少什么知识?


JsonConvert.DeserializeObject<T>需要编译时类型。您不能像您想做的那样在运行时向其传递类型(与声明一个类型没有什么不同)List<T>)。您应该反序列化为通用 json 对象JObject (or to dynamic)或者您应该创建一个对象的实例并用 json 填充它。

您可以使用静态方法PopulateObject(当然,如果你的对象的属性match您要反序列化的 json)。

JsonConvert.PopulateObject(result, someObject1 );
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

动态地将 json 反序列化为传入的任何对象。c# 的相关文章

随机推荐