14

オブジェクトをシリアル化し、Web サービスから json として返しています。ただし、シリアル化された json から null プロパティを省略しようとしています。これを行う方法はありますか?Web Api MVC 4 ベータ版を使用しています。

4

2 に答える 2

15

現在、ASP.NET Web API (最終リリースで Json.Net を使用するように変更する計画があります) は、既定でDataContractJsonSerializerを使用して JSON をシリアル化します。

したがって、標準の DataContract/DataMember 属性を使用してシリアル化プロセスを制御できます。null プロパティをスキップするには、EmitDefaultValueを false に設定します。

[DataContract]
public class MyObjet
{
    [DataMember(EmitDefaultValue = false)]
    public string Prop1 { get; set; }

    [DataMember(EmitDefaultValue = false)]
    public string Prop2 { get; set; }
}

JSON 応答のシリアライズ方法をさらに制御したい場合は、Json.Netまたは組み込みのJavaScriptSeralizerを使用するフォーマッターを含むWebAPIContribパッケージを使用できます。

于 2012-04-14T07:20:09.500 に答える