我编写了一个名为 EncryptedValue 的类。我已经定义了运算符和 ToString 以允许在代码中将其用作常规值(int、double、DateTime)。我想要做的是为这个对象分配一个值,并将它包含在我发送回我的页面的 JSON 中。
这是我的课:
public class EncryptedValue<T> {
public T Value { get; }
public string Encryted { get; }
/* Implementation Details */
}
这是我的行动:
public JsonResult MyAction() {
EncryptedValue value = 5;
return Json(new { EncryptedValue: value });
}
这是我要生成的 JSON:
{ "EncryptedValue":"TheEncryptedString" }
但相反,产生的是:
{ "EncryptedValue":{"Encrypted":"TheEncryptedString","Value":2}}
即使我没有在类上放置任何属性,JSON 看起来像:
{ "EncryptedValue":{} }
有谁知道如何让 JavaScriptSerializer 认为一个类是单个值并在其上调用 ToString() ?
更新
我想我需要澄清这是一个简化的例子。我有将使用此类的复杂类型:
public class User {
public EncryptedValue UserId { get; set }
public string UserName { get; set }
}
我将写出一个用户列表:
IList<User> users = GetUsers();
return Json(users);