WebApi中的JsonFormatter被忽略

时间:2015-07-01 10:56:49

标签: asp.net-web-api json.net asp.net-web-api2

我需要配置Web API的JSON输出。

当我直接在属性上设置JsonProperty-Attribute时,它可以工作。 但是完全忽略了JsonFormatter设置的变化(在Register方法中)。

    public static void Register(HttpConfiguration config)
    {
        // Web API configuration and services   

        config.Formatters.JsonFormatter.SerializerSettings.NullValueHandling = NullValueHandling.Ignore;
        config.Formatters.JsonFormatter.SerializerSettings.ContractResolver  = new CamelCasePropertyNamesContractResolver();

        // ...
    }

我做错了什么?

1 个答案:

答案 0 :(得分:0)

我的错。

在WebApi中,我与Azure DocumentDB进行了交谈。

所以我当然 - 配置DocumentDB序列化程序来格式化Json文档。

    static DocumentDbRepository()
    {


        JsonConvert.DefaultSettings = () =>
            {
                return new JsonSerializerSettings
                           {
                               NullValueHandling = NullValueHandling.Ignore,
                               TypeNameHandling = TypeNameHandling.Objects,  

                               //serializing works, but Linq to DocumentDB provider seems to ignore the ContractResolver. -> [JsonProperty]
                               //ContractResolver = new CamelCasePropertyNamesContractResolver(),
                           };
            };


    }