检查 JSON 是否可以转换为 c# 类



我想要这样的东西

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 的空对象,以防serializedJsontype不匹配。在这种情况下,我想返回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;
}

希望这有帮助

相关内容

  • 没有找到相关文章

最新更新