rag*_*ubs 3 c# serialization json json.net
我正在尝试将 json 反序列化为 c# 中的对象。我希望能够做的是传递任何对象获取它的类型并使用 JSON.Net 库将 json 反序列化为该特定对象。这是代码行。
Object someObject1 = someObject;
string result = await content.ReadAsStringAsync();
return JsonConvert.DeserializeObject<someObject1.GetType()>(result);
Run Code Online (Sandbox Code Playgroud)
最后一行抛出异常
operator '<' cannot be applied to operands of type 'method group'
Run Code Online (Sandbox Code Playgroud)
如何在没有 c# 抱怨的情况下获取 <> 中的数据类型。我该怎么做才能使此代码正常工作?我缺少什么知识?
JsonConvert.DeserializeObject<T>需要一个编译时类型。你不能像你想在运行时那样传递一个类型(与声明 a 没有什么不同List<T>)。您应该反序列化为通用 json 对象JObject(或dynamic),或者您应该创建一个对象的实例并用 json 填充它。
您可以使用静态方法 PopulateObject(当然,如果您的对象的属性与您要反序列化的 json匹配)。
JsonConvert.PopulateObject(result, someObject1 );
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7235 次 |
| 最近记录: |