javascript - ASP.NET MVCでクラスを単一のJSON文字列としてシリアル化する

javascript asp.net json asp.net-mvc-3 serialization

次のクラスがあります

[Serializable]
public class ApiRequestStatus :IEquatable<ApiRequestStatus>
{
    public static readonly ApiRequestStatus Failure =
                                            new ApiRequestStatus("Failure");
    public static readonly ApiRequestStatus Success =
                                            new ApiRequestStatus("Success");

    private string _status;

    private ApiRequestStatus(string status)
    {
        this._status = status;
    }

    public override string ToString()
    {
        return _status;
    }

    public bool Equals(ApiRequestStatus other)
    {
        return this._status == other._status;
    }
}


これをSystem.Web.Script.Serialization.JavaScriptSerializerを使用してシリアル化する場合、文字列"Failure"または"Success"としてシリアル化します。

カスタムJavaScriptConverterを実装しようとしましたが、これにより、オブジェクトが、返されるIDictionary<string, object>に応じて0個以上のプロパティを持つオブジェクトとしてレンダリングされます。

例えば空のIDictionary<string, object>を返すと、オブジェクトが空のJavaScriptオブジェクト{ }として表示されます。

new Dictionary<string, object> { {"_status", status._status}}を返すと、オブジェクトは{ "_status" : "Success" }として表示されます。

_statusフィールドの文字列値と同じようにオブジェクトをシリアル化するにはどうすればよいですか?
答え
ToJsonString()メソッドをクラスに追加し、シリアル化を手動で制御します。この場合、_statusメンバーを直接シリアル化します。

その他すべての/デフォルトの動作については、thisをシリアル化し(これは整頓のために継承できます)、それを返します。
関連記事

javascript - Twitter API呼び出しで「データがnull」を取得するが、ブラウザーにデータを表示する

javascript - TinyMCEにPタグ内にSPANタグを作成させる方法は?

javascript - RequireJSの同じ構成ファイルを使用して、並列ディレクトリの下でモジュールを最適化/構築する

javascript - pygtkインターフェイスのJavaScriptインターフェイス?

javascript - JavaScript asp.netでのCTRL + V(貼り付け)関数の自動フォーマット

javascript - JavaScriptで2つの変数を結合する

javascript - JQueryを使用したSongkick API

javascript - 列に表示されるデータをフォーマットする方法

javascript - JavaScriptで3次元配列をソートする

asp.net - これは、WebDriverを使用してJavaScript警告ダイアログを処理する正しい方法ですか?