json.net需要json中找不到的属性我用的是Json.net,得到一个类如下publicclassRecordAlias{[JsonProperty(PropertyName="eId",Required=Required.Always)]publicstringEntityId{get;放;}[JsonProperty(PropertyName="aId",Required=Required.AllowNull)]publicstringAliasId{get;放;}[JsonProperty(PropertyName="iSd",Required=Required.AllowNull)]publicboolIsSelected{get;放;所以你甚至可以通过一些在json字符串中没有属性“iSd”的项目来反序列化json我希望如果它不存在,应该填充类型的默认值,例如IsSelected除了最后一项[{"eId":"30022004","aId":"1"},{"eId":"30021841","aId":"1"},{"eId":"1"},{"eId":"30021848","aId":"1""iSd":true}]知道如何实现吗?您没有在JSON字符串中指定eId,它被设置为必需。你正在通过rId……是这样吗?如果我不明白这个问题,请告诉我,我会更新我的答案。更新:您指出iSd属性是AllowNull。您仍然需要在JSON字符串中为此属性指定一个值,但它可以为空。根据JSON.NET规范:属性必须在JSON中定义,但可以为null。您需要为iSd...指定一个值,或者在JsonProperty属性中将JsonProperty标记为DefaultValue。对于DefaultValue,规范说:此属性不是必需的。默认状态。[JsonProperty(PropertyName="iSd",Required=Required.Default)]publicboolIsSelected{get;放;}我希望这有帮助。使属性成为布尔值而不是字符串。我根据Required文档为Requiredenumvalues及其效果创建了一个小表:|必须在场|可以是Null值----------------------+----------------+-----------必需的。默认||?--------------------+----------------+------------必需的。允许为空|?|?----------------------+-----------------+--------------必需的。总是|?|----------------------+----------------+------------------Required.DisallowNull||在您的情况下,isD可以(可选)您应该使用Required.Default(或Required.DisallowNull)。使用Required.AllowNull也会使isD成为必需的,因此它会在缺少时抛出异常。请注意,在这种情况下,区分“可选且可能为空”(Required.Default)或“可选但可能不为空”(Required.DisallowNull)没有意义,因为bool是一个不能为空类型的值。如果要允许空值,则需要使用可空值类型(bool?),但默认值(当值不存在时)将为空,除非您手动设置它(例如设置为false):上面是C#学习教程:json.net需要共享所有json找不到的属性内容。如果对大家有用,需要了解更多C#学习教程,希望大家多多关注——[JsonProperty(PropertyName="iSd",Required=Required.Default)]publicbool?IsSelected{得到;放;}=假;本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
