[英]Deserialize Json without knowing type
我正在使用websockets api,我有一种方法可以接收所有传入的响应。 答案都是json。
我想反序列化对类型对象的json响应,但我怎么知道它是什么类型的?
1)检查原始json的关键字字符串
2)尝试反序列化为每种类型,直到其中一个不为空
3) JsonConvert.DeserializeObject()
到一个JObject
并以某种方式转换为我的最终类型
我不确定什么是最干净的解决方案或如何解决这个问题。
一种选择是使用dynamic
类型,如果你真的不知道期望什么类型。 这对Newtonsoft来说效果很好
dynamic theObject = JObject.Parse(rawJson);
然后当你有这样的JSON响应时:
{
"name": "Deep Thought",
"answer": "42"
}
然后你可以到达这样的属性:
dynamic hitchhiker = JObject.Parse(rawJson);
Console.WriteLine(hitchhiker.name);
这将输出以下内容:
深层思想
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.