我想检查一个对象是否可以反序列化?我想检查字符串json是否可以取消?例如:
if(obj.IsDeserializable()) { var obj1 = new JavaScriptSerializer().Deserialize<object>(CObject); } else { //dosomething ...}
我该怎么做?
答案 0 :(得分:3)
你做不到。您可以使用typeof(T).IsSerializable来检查对象是否可序列化。你可以做的是将它包装在try-catch块中,然后在序列化成功时对对象进行操作。 JavaScriptSerializer()。DeserializeObject()通常总是成功,但是转换然后不在JavaScriptSerializer()的地方。如果输入包含在类型T上不可用的成员定义,则DeserializeObject()会抛出异常。