【发布时间】:2011-04-30 20:00:06
【问题描述】:
我有一个自定义类型,它具有如下隐式字符串运算符(简化):
public class TransactionType
{
private string StringValue;
public static implicit operator string(TransactionType arg)
{
return arg.StringValue;
}
public override string ToString() // This doesn't work, even when
{ // returning an arbitrary constant string
return arg.StringValue; // such as "Testing"
}
}
我试图返回一个 JsonResult 如下:
[HttpPost]
public JsonResult Foo()
{
var transactionType = new TransactionType();
return Json(transactionType);
}
我得到的 JSON 字符串是 "TransactionType":{} 而不是 StringValue 的值
有没有简单的方法让 Json() 使用隐式字符串操作符?
谢谢!
编辑:如下所示,覆盖ToString() 也不起作用。我仍然只是得到一个空对象 "TransactionType":{} 而不是对象的字符串表示形式。
【问题讨论】:
标签: asp.net-mvc json serialization