当前位置: 首页 > 编程语言 > C#

将json属性解析为具体类型分享

时间:2023-04-10 23:15:14 C#

将json属性解析为具体类型我的出发点是这样的(这里简化):privateobjectGetPropValue(JTokentoken,Typetype){returnJsonConvert.DeserializeObject(token["prop"].ToString(),类型);用法:varvalue=GetPropValue(JObject.Parse(someJsonWithAPropertyNamedProp),typeof(someTypeFoundByReflection));这有效,除了类型是字符串。根据文档,JValue的ToString()应该返回一个JSON,但是当JValue是一个字符串类型时,返回的值不是JSON,而是一个简单的字符串,没有转义引号。结果,我得到一个异常:Newtonsoft.Json.dll中发生类型为“Newtonsoft.Json.JsonReaderException”的异常,但未在用户代码中处理附加信息:解析值时遇到意外字符:s。path",line0,position0。实现这个的最好方法是什么?如果JToken是字符串类型,添加一个条件?JToken已经有一个内置的ToObject()方法来做你想做的事。如果你改变你的GetPropValue方法使用这个代替JSON转换,应该一切正常:以上都是C#学习教程:将json属性解析为特定类型分享,如果对大家有用需要了解更多C#学习教程,希望大家多多关注——privateobjectGetPropValue(JTokentoken,Typetype){returntoken["prop"].ToObject(type);}本文收集自网络,不代表立场,如有涉及侵权,请点击维权联系管理员删除,如需转载请注明出处: