我想要这样的东西
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
。请提供您的建议。
@YakRangi,我认为 Jacob 在泛型类型方面给了你一个很好的观点,你应该创建与你期望的 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;
}
希望这有帮助