我试图在JSON文本(JSON文本中的$type)中获得序列化的c#对象的类型,而无需将JSON文本反序列化为对象。你能建议我有哪些选择吗?
我正在使用Newtonsoft库进行序列化和序列化。
Thanks in advance
我不使用Newtonsoft库。但是,假设$type在文件的开头或结尾,我可能会使用字符串函数(下面的psudocode),这将非常快。
-
找到美元类型
-
i=find next冒号
-
j=查找下一个逗号
-
在i和j之间抓取令牌
-
修剪标记
-
用令牌做一些有用的事情。用它做一个有反射的字体?
听起来怎么样?在此过程中,您可以编写一个扩展方法。按几次+1,我会考虑写代码;-)
使用Newtonsoft库相当简单。
JObject json = JObject.Parse(JsonText);
string type = json["$type"].ToString();
try this
var jsonObj = JObject.Parse("your json string");
var props = jsonObj.Properties();
foreach (var prop in props)
{
Console.WriteLine(prop.Value.Type);
}
我希望这对你有帮助!