Javascript 在ASP.NET MVC中将类序列化为单个JSON字符串

Javascript 在ASP.NET MVC中将类序列化为单个JSON字符串,javascript,asp.net,json,asp.net-mvc-3,serialization,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 Ap

我有以下课程

[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;
    }
}
[可序列化]
公共类APIRestStatus:IEquatable我希望它序列化为字符串
“Failure”
“Success”

我曾尝试实现一个自定义的
JavaScriptConverter
,但这会根据我返回的
IDictionary
将我的对象呈现为一个具有零个或多个属性的对象

e、 g.当我返回并清空
IDictionary
时,我的对象显示为空JavaScript对象:
{}

如果我返回
newdictionary{{u status],status.{u status}
我的对象显示为
{{u status:“Success”}

如何将对象序列化为它的
\u status
字段的字符串值?

向类中添加
到jsonString()
方法,并手动控制序列化-在这种情况下,直接序列化
\u status
成员


对于所有其他/默认行为,只需序列化
(这可以继承以保持整洁)并返回它

我通过将我的
ApiRequestStatus
切换到一个枚举,并将序列化程序与结合使用来解决这个问题,但是我仍然有兴趣看看
JavaScriptSerializer

是否可以这样做,我不能说它是否有效,但可以尝试使用“公共静态隐式运算符字符串(ApiRequestStatus-apiRs)”{return apiRs.\u status}”。这至少应该使您能够执行“string s=apiRequestStatusObj;”,然后“s”应该包含状态。(隐式运算符应该在您的类中)@不幸的是,Joakim没有产生任何效果。幸运的是,
ApiRequestStatus
对象是一个更大的顶级对象的一部分,该对象正在使用
JavaScriptSerializer
进行序列化,因此我无法单独对每个对象进行粒度控制。