从C#中的json字符串中删除条目

时间:2011-07-03 13:00:03

标签: c# json null

我生成了一个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字符串)吗?

由于

2 个答案:

答案 0 :(得分:1)

您可以将DataMember属性选项IsRequired设置为false:

[DataMember(IsRequired = false)]
public int Property { get; set; }

此外,某些库可以在不修改DataContract类的情况下排除默认值或空值。例如,Json.NET

答案 1 :(得分:0)