DeserializinganObjectSetAllValuestoNull而且不确定发生了什么。有人错了吗?示例JSON{"Keys":[{"RegistrationKey":"asdfasdfa","ValidationStatus":"Valid","ValidationDescription":null,"Properties":[{"Key":"Guid","Value":"i0asd23165323sdfs68661358"}]}]}这是我的代码,其中strResponseValid是上面的JSON。键myDeserializedObjValid=(Keys)JsonConvert.DeserializeObject(strResponseValid,typeof(Keys));validationStatusValid=myDeserializedObjValid.ValidationStatus;这是我的班级publicclassKeys{publicstringRegistrationKey{get;放;}公共字符串验证集;}publicstringValidationDescription{get;放;}公共列表PropertiesList{get;放;}}publicclassProperties{publicstringKey{get;放;}公共字符串值{得到;放;您的JSON有一个外部对象,其中包含一个Key对象数组。以下代码有效(我测试过):classKeyWrapper{publicListKeys{get;放;}}classKey{publicstringRegistrationKey{get;放;}publicstringValidationStatus{get;放;}publicstringValidationDescription{get;放;}公共列表属性{get;放;}}publicclassProperties{publicstringKey{get;放;}公共字符串值{得到;放;}}publicvoidDeserializeKeys(){conststringjson=@"{""Keys"":[{""RegistrationKey"":""asdfasdfa"",""ValidationStatus"":""Valid",""ValidationDescription"":null,""Properties"":[{""Key"":""Guid"",""Value"":""i0asd23165323sdfs68661358""}]}]}";varkeysWrapper=Newtonsoft.Json.JsonConvert.DeserializeObject(json);在我的情况下,这是因为我的目标类型具有这些属性的内部(或私有)设置修饰符。publicclassSummary{publicQuickStatsStats{get;内部设置;}publicQuickStatsStats2{get;放;删除内部修饰符后,json.net反序列化这些对象就像序列化步骤这里的问题是您将键定义为一个类,而实际上它是一个属性。publicclassResponse{公钥Keys{get;放;}}publicclassKeys{publicstringRegistrationKey{get;放;}publicstringValidationStatus{get;放;}publicstringValidationDescription{get;;放;}}publicclassProperties{publicstringKey{get;放;}公共字符串值{得到;publicclassKeys{publicstringRegistrationKey{get;放;}publicstringValidationStatus{get;放;}publicstringValidationDescription{get;放;}publicPropertiesListPropertiesList{得到;;放;}公共字符串值{得到;放;然后尝试使用以下代码反序列化:keysmyDeserializedObjValid=JsonConvert。反序列化对象(strResponseValid);JSON.NET是一个可选的序列化库。对象中的属性需要属性来将它们标记为包含在JSON结构中。以上就是C#学习教程:反序列化对象并将所有值设置为空。如果对大家有用,需要进一步了解C#学习教程,希望大家多多关注——publicclassKeys{[JsonProperty(PropertyName="RegistrationKey")]publicstringRegistrationKey{get;放;}[JsonProperty(PropertyName="ValidationStatus")]publicstringValidationStatus{get;放;}[JsonProperty(PropertyName="ValidationDescription")]publicstringValidationDescription{get;放;}[JsonProperty(PropertyName="Properties")]publicListPropertiesList{get;放;}}publicclassProperties{[JsonProperty(PropertyName="Key")]publicstringKey{get;放;}[JsonProperty(PropertyName="Value")]publicstringValue{get;放;}}本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
