我生成了一个json字符串,如下所示:
System.Xml.Serialization.XmlSerializer x = new System.Xml.Serialization.XmlSerializer(typeof(Data));
System.Runtime.Serialization.Json.DataContractJsonSerializer serializer = new System.Runtime.Serialization.Json.DataContractJsonSerializer(mdata.GetType());
MemoryStream ms = new MemoryStream();
serializer.WriteObject(ms, mdata);
string json = Encoding.UTF8.GetString(ms.ToArray());
我希望mdata结构中的空条目不存在于json字符串中,所以有一种直接的方法(不必解析json字符串)吗?
由于
答案 0 :(得分:1)
您可以将DataMember属性选项IsRequired设置为false:
[DataMember(IsRequired = false)]
public int Property { get; set; }
此外,某些库可以在不修改DataContract类的情况下排除默认值或空值。例如,Json.NET。
答案 1 :(得分:0)