ASP.Net 5 vnext输入/输出json格式不工作

本文关键字:json 格式 工作 输出 Net vnext 输入 ASP | 更新日期: 2023-09-27 18:07:05

在我的asp.net 5 vnext (beta 6) web api项目中,我的输入/输出json格式化器设置似乎对对象的序列化没有任何影响。

有人看到这个吗?

    public void ConfigureServices(IServiceCollection services)
    {
        // Add MVC services.
        services.AddMvc();
        // Configure.
        services.ConfigureMvc(o =>
        {
            // Input Formatters.
            var jif = new JsonInputFormatter()
            {
                SerializerSettings = new JsonSerializerSettings()
                {
                    ContractResolver = new CamelCasePropertyNamesContractResolver(),
                    DefaultValueHandling = DefaultValueHandling.Ignore,
                    NullValueHandling = NullValueHandling.Ignore
                }
            };
            o.InputFormatters.Clear();
            o.InputFormatters.Add(jif);
            // Output Formatters.
            var jof = new JsonOutputFormatter()
            {
                SerializerSettings = new JsonSerializerSettings()
                {
                    ContractResolver = new CamelCasePropertyNamesContractResolver(),
                    DefaultValueHandling = DefaultValueHandling.Ignore,
                    NullValueHandling = NullValueHandling.Ignore
                }
            };
            o.OutputFormatters.Clear();
            o.OutputFormatters.Add(jof);
        });
    }

通过这些设置,我仍然得到这个作为服务器响应:

{"结果":"错误","原因":空,"时间":1439068137652,"消息":零}

ASP.Net 5 vnext输入/输出json格式不工作

我用下面的代码解决了这个问题:

        services.ConfigureMvcJson(o =>
        {
            o.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
            o.SerializerSettings.DefaultValueHandling = DefaultValueHandling.Ignore;
            o.SerializerSettings.NullValueHandling = NullValueHandling.Ignore;
        });

但是,使用它,我无法在输入和输出格式化器之间进行区分。