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
进行序列化,因此我无法单独对每个对象进行粒度控制。