如何从JSON文本中获取反序列化C#对象的类型?

如何从JSON文本中获取反序列化C#对象的类型?,c#,.net,json,wcf,json.net,C#,.net,Json,Wcf,Json.net,我正在尝试获取JSON文本中的序列化C#对象类型($type in JSON Text),而无需再次将JSON文本反序列化到对象。你能告诉我我有什么选择吗 我正在使用Newtonsoft库进行序列化和序列化 提前感谢我不使用Newtonsoft库。但是,假设$type在文件的开头或结尾,我可能会使用字符串函数(下面的psudocode),这会非常快 查找$type i=查找下一个冒号 j=查找下一个逗号 在i和j之间获取令牌 修剪那个标记 使用令牌做一些有用的事情。用倒影把它打印出来 听起来

我正在尝试获取JSON文本中的序列化C#对象类型($type in JSON Text),而无需再次将JSON文本反序列化到对象。你能告诉我我有什么选择吗

我正在使用Newtonsoft库进行序列化和序列化


提前感谢

我不使用Newtonsoft库。但是,假设$type在文件的开头或结尾,我可能会使用字符串函数(下面的psudocode),这会非常快

  • 查找$type

  • i=查找下一个冒号

  • j=查找下一个逗号

  • 在i和j之间获取令牌

  • 修剪那个标记

  • 使用令牌做一些有用的事情。用倒影把它打印出来


听起来怎么样?您可以编写一个扩展方法。点击+1几次,我会考虑编写代码;-)

使用Newtonsoft库相当简单

JObject json = JObject.Parse(JsonText);
string type = json["$type"].ToString();
试试这个

 var jsonObj = JObject.Parse("your json string");
 var props = jsonObj.Properties();

 foreach (var prop in props)
 {
     Console.WriteLine(prop.Value.Type);
 }

我希望这对你有帮助

谢谢你的主意。我用Newtonsoft libaray解决了这个问题,并在上面发布了答案。我以为你想在不将文本解析回对象的情况下实现这个目标?因此,获得象征性的想法。如果性能是您的问题,我发布的解决方案将更好地为您服务。也许你发现这在事情的发展中并不重要,事实往往如此。