如何检查Json是否与特定的C#类型匹配?

前端之家收集整理的这篇文章主要介绍了如何检查Json是否与特定的C#类型匹配?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的Asp.Net MVC应用程序操作通过序列化几个C#对象中的一个来返回 JSON,具体取决于具体情况(如果发生错误,如果检索到一种类型的数据,则为一种数据类型等).

当我尝试在C#windows服务中使用JSON时,我无法确定要返回的JSON类型.不幸的是,从我所看到的,如果没有JSON匹配,JSON序列化程序(JSON.Net和RestSharp使用的任何东西)都可以创建一个空对象.

我理解为什么会发生这种情况,但我很困惑如何判断从JSON序列化的值是否合法,或者是否没有JSON属性匹配且序列化程序只是创建了一个空对象.

有谁知道我如何确定JSON和我试图反序列化的类型之间是否存在匹配?

解决方法

我建议使用try catch块,如果你的反序列化会抛出无效的参数异常,那么字符串的格式不正确.
如果您使用的是System.Web.Script.Serialization
JavaScriptSerializer sel = new JavaScriptSerializer();

try 
{

    return sel.Deserialize<List<YourObjectType>>(jSONString);

}
catch(System.ArgumentException e)
{

     return null;

}

猜你在找的JavaScript相关文章