我正在使用websockets api,并且我有一种方法可以接收所有传入的响应。响应都是json。
我想反序列化对键入对象的json响应,但是我怎么知道它是 类型?
1)检查原始json中的关键字字符串
2)尝试反序列化每种类型,直到其中一种不为空
3)JsonConvert.DeserializeObject()
转换为JObject
,并以某种方式转换为我的最终类型
我不确定什么是最干净的解决方案,甚至如何解决。
答案 0 :(得分:0)
如果您真的不知道要使用哪种类型,则可以选择使用dynamic
类型。它将与Newtonsoft一起正常工作
dynamic theObject = JObject.Parse(rawJson);
然后,当您有这样的JSON响应时:
{
"name": "Deep Thought",
"answer": "42"
}
然后您可以访问如下属性:
dynamic hitchhiker = JObject.Parse(rawJson);
Console.WriteLine(hitchhiker.name);
这将输出以下内容:
深思熟虑