为了账号安全,请及时绑定邮箱和手机立即绑定

请问如何在MVC 4 Web API中为Json.NET设置自定义JsonSerializer

请问如何在MVC 4 Web API中为Json.NET设置自定义JsonSerializer

C#
收到一只叮咚 2019-08-01 02:01:31
如何在MVC 4 Web API中为Json.NET设置自定义JsonSerializerSettings?我了解ASP.NETWebAPI本机使用Json.NET来(反)序列化对象,但是否有一种方法可以指定JsonSerializerSettings对象,您想让它使用吗?例如,如果我想包括type信息进入序列化的JSON字符串?通常,我会将设置插入到.Serialize()调用,但是WebAPI会默默地这样做。我找不到手动注入设置的方法。
查看完整描述

3 回答

?
沧海一幻觉

TA贡献1824条经验 获得超5个赞

您可以自定义JsonSerializerSettings通过使用Formatters.JsonFormatter.SerializerSettings属性中的HttpConfiguration对象。

例如,可以在Application_start()方法中这样做:

protected void Application_Start(){
    HttpConfiguration config = GlobalConfiguration.Configuration;
    config.Formatters.JsonFormatter.SerializerSettings.Formatting =
        Newtonsoft.Json.Formatting.Indented;}




查看完整回答
反对 回复 2019-08-02
?
慕码人2483693

TA贡献1860条经验 获得超9个赞

答案是将这2行代码添加到Global.asax.cs Application_start方法

var json = GlobalConfiguration.Configuration.Formatters.JsonFormatter;json.SerializerSettings.PreserveReferencesHandling = 
    Newtonsoft.Json.PreserveReferencesHandling.All;

参考资料:处理循环对象引用


查看完整回答
反对 回复 2019-08-02
  • 3 回答
  • 0 关注
  • 544 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信