Kal*_*exx 8 c# serialization json
我的Asp.Net MVC应用程序操作通过序列化几个C#对象中的一个来返回JSON,具体取决于具体情况(如果发生错误,如果检索到一种类型的数据,则为一种数据类型等).
当我尝试在C#windows服务中使用JSON时,我无法确定要返回的JSON类型.不幸的是,从我所看到的,如果没有JSON匹配,JSON序列化程序(JSON.Net和RestSharp使用的任何东西)都可以创建一个空对象.
我理解为什么会这样,但我如何找出如果从JSON序列化的值是合法的,或者如果没有相匹配的JSON性能和串行的刚刚创建一个空的对象困惑.
有谁知道我如何确定JSON和我试图反序列化的类型之间是否存在匹配?
Emm*_*l N -2
我建议使用 try 和 catch 块,如果您的反序列化将抛出无效参数异常,则字符串的格式不正确。如果您使用的是 System.Web.Script.Serialization
JavaScriptSerializer sel = new JavaScriptSerializer();
try
{
return sel.Deserialize<List<YourObjectType>>(jSONString);
}
catch(System.ArgumentException e)
{
return null;
}
Run Code Online (Sandbox Code Playgroud)