Mic*_*ade 7 c# serialization json json.net
如果我有一个Web服务(.asmx)并且我希望它使用Json.NET来序列化我从该Web服务返回的所有对象,有没有办法做到这一点?
换句话说,我有一个这样的类:
[JsonObject(MemberSerialization.OptOut)]
public partial class Person
{
public string FirstName {get; set;}
public string LastName {get; set;}
[JsonIgnore]
public string Password {get; set;}
}
Run Code Online (Sandbox Code Playgroud)
在我的网络服务中,我有这个:
[WebMethod]
public Person GetBlahPerson()
{
Person p = new Person();
p.FirstName = "bob";
p.LastName = "smith";
p.Password = "don't tell";
return p;
}
Run Code Online (Sandbox Code Playgroud)
如果使用jQuery我将返回类型设置为json,它将我的对象序列化为json.
是否可以通过web.config中的设置或类似的东西使它使用Json.net?
只是 JSON——不。您只能IHttpHandlerFactory使用重新定义整体
<add verb="*" path="*.asmx" type="YourScriptHandlerFactory" validate="false"/>
Run Code Online (Sandbox Code Playgroud)
但这意味着您需要使用反射回退到默认实现,或者实现System.Web.Script.Services名称空间的模拟(相当大)。
实际上,我是通过反射回退来实现其他目的(集中错误处理),所以它应该是可能的,但它需要精度,并且在 .NET 版本之间会非常脆弱。
您使用经典的 ASP.NET 还是 MVC?如果你使用MVC,只需要使用一个控制器,就容易多了。
| 归档时间: |
|
| 查看次数: |
1436 次 |
| 最近记录: |