我有一个Json
序列化配置,需要使用
JsonConvert.DeserializeObject<>(jsonConfig)
到Myclass列表。
在jsonConfig
中,可能会丢失一些属性,如下所示。
在JSON中找不到必需的属性“ xxx”。路径 '[0] .yyy'
那么在c#
中反序列化对象时,有什么方法可以处理未定义的值?
答案 0 :(得分:0)
undefined
不是有效的json值,即使它在javascript中也有效。请检查https://api.jquery.com/jQuery.parseJSON/
undefined: { "something": null }
答案 1 :(得分:0)
您需要在对象模型类中使这些属性nullable
如下所示。
[JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
public int? someProperty { get; set; }
如果反序列化时类本身缺少属性本身,则可以执行以下操作:
JsonSerializerSettings settings = new JsonSerializerSettings();
settings.MissingMemberHandling = MissingMemberHandling.Ignore;
var deserializedObj = JsonConvert.DeserializeObject<MyModelClass>(jsonConfig, settings);