2011-07-03 31 views
1

にJSON文字列からエントリを削除する:私はMDATA構造のヌルエントリはJSON文字列に存在しないとしたい私は次のように生成されたJSON文字列持つC#の

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()); 

するように簡単な方法がありますそうする(json文字列を解析する必要はありません)?あなたはデータメンバー属性のオプションを設定することができます

おかげ

答えて

1

はfalseにIsRequiredこの:

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

また、いくつかのライブラリがのDataContractのクラスを変更することなく、デフォルト値またはNULL値を除外することができます。たとえば、Json.NETです。