【问题标题】:ASP.Net 5 vnext input/output json formatters don't workASP.Net 5 vnext 输入/输出 json 格式化程序不起作用
【发布时间】:2015-08-08 21:06:01
【问题描述】:

在我的 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);
        });
    }

通过这些设置,我仍然可以将其作为服务器响应:

{"Result":"Error","Reason":null,"Time":1439068137652,"Messages":null}

【问题讨论】:

标签: c# asp.net asp.net-web-api asp.net-core


【解决方案1】:

我用这段代码解决了这个问题:

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

不过,有了它,我无法在输入和输出格式化程序之间进行分离。

【讨论】:

    猜你喜欢
    • 2017-09-11
    • 1970-01-01
    • 2022-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-15
    • 2017-08-29
    相关资源
    最近更新 更多