我想要这样的东西
public object LoadFromConfig(Type type, string sectionName)
{
try
{
serializedJson = //fetch and serialize the Json from given sectionName
return JsonConvert.DeserializeObject(serializedJson, type,
JsonSerializerSettings);
}
//was expecting this exception if serializedJson is not convertible to type.
catch(ArgumentException e)
{
return null;
}
如果DeserializedObject
与type
不匹配, serializedJson
将返回type
类型的空对象。在这种情况下,我想返回null
。请提供您的建议。
答案 0 :(得分:0)
@YakRangi,我认为雅各布给你一个关于泛型类型的好点,你应该创建与你期望的json相当的类,然后调用
JsonConvert.DeserializeObject<T>(serializedJson, JsonSerializerSettings);
现在让我们假设你期望的json有一个属性password
是一个字符串,然后创建你的类
class MyClass
{
[JsonProperty("password")]
public string Password
}
然后你有一个
try
{
var res = JsonConvert.DeserializeObject<MyClass>(serializedJson, JsonSerializerSettings);
}
catch
{
return null;
}
希望这有帮助