Newtonsoft.Json笔记-JsonPropertyAttribute
一、JSON使用JsonPropertyAttribute重命名属性名
[JsonProperty("name")]
二、JSON使用JsonPropertyAttribute序列化升序排序属性
[JsonProperty(Order=4)]
三、反序列化属性时,Required指定属性性质
指定其Required的性质。属性Name必须有值,DateTime可以为空.
namespace JSONDemo
{
public class Movie
{
[JsonProperty(Required=Required.Always)]
public string Name { get; set; }
[JsonProperty(Required = Required.AllowNull)]
public DateTime? ReleaseDate { get; set; }
public string Director { get; set; }
}
}
四、JSON使用JsonPropertyAttribute序列化引用类型集合
声明一个本身类型的属性,指定JsonProperty中的IsReference为true?
namespace JSONDemo
{
public class Movie
{
public string Name { get; set; }
[JsonProperty(ItemIsReference=true)]
public IList Directors { get; set; }
}
}
五、序列化忽略属性null
在属性上指定JsonProperty,添加NullValueHandling,忽略null
'''
public class Movie
{
public string Name { get; set; }
public string Director { get; set; }
[JsonProperty(NullValueHandling=NullValueHandling.Ignore)]
public DateTime? LaunchDate { get; set; }
}
}
'''