如何将JSON.Net中的JObject转为T。我知道我可以使用JsonConvert.DeserializeObject(string),但是我需要查看对象_type(可能不是第一个参数)来标识要转换的特定类。基本上,我要做的是://API客户端的通用JSON处理器。functionMyBaseTypeProcessJson(stringjsonText){varobj=JObject.Parse(jsonText);switch(obj.Property("_type").Value.ToString()){case"sometype":returnobj.RootValue();//注意:这不起作用...//returnobj.Root.Value();...}}...//我的用法...varobj=ProcessJson(jsonText);varinstance=objasMyConcreteType;if(instance==null)thrownewMyBaseError(obj);首先将JSON解析为JObject。然后使用LINQtoJSON查找_type属性。然后根据值切换并使用ToObject:varo=JObject.Parse(text);varjsonType=(String)o["_type"];switch(jsonType){case"something":returno.ToObject();……}JSON.NET没有能力直接支持这两个需求:第一个必要条件是通过JsonSubTypes实现第二个条件是通过指定正确的MetadataPropertyHandling以上是C#学习教程:HowtoconvertJObjectinJSON.NettoT.所有分享的内容,如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
