我的Asp.Net MVC应用程序操作通过序列化几个C#对象中的一个来返回
JSON,具体取决于具体情况(如果发生错误,如果检索到一种类型的数据,则为一种数据类型等).
当我尝试在C#windows服务中使用JSON时,我无法确定要返回的JSON类型.不幸的是,从我所看到的,如果没有JSON匹配,JSON序列化程序(JSON.Net和RestSharp使用的任何东西)都可以创建一个空对象.
我理解为什么会发生这种情况,但我很困惑如何判断从JSON序列化的值是否合法,或者是否没有JSON属性匹配且序列化程序只是创建了一个空对象.
有谁知道我如何确定JSON和我试图反序列化的类型之间是否存在匹配?
解决方法
我建议使用try catch块,如果你的反序列化会抛出无效的参数异常,那么字符串的格式不正确.
如果您使用的是System.Web.Script.Serialization
如果您使用的是System.Web.Script.Serialization
JavaScriptSerializer sel = new JavaScriptSerializer(); try { return sel.Deserialize<List<YourObjectType>>(jSONString); } catch(System.ArgumentException e) { return null; }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。