Nancy: Json.Net 序列化器应该默认为驼峰式

创建于 2014-07-12  ·  10评论  ·  资料来源: NancyFx/Nancy

我们在 0.22.0 中进行了更改,我认为是,默认情况下使用默认序列化器 camelCase。

JSON.NET 默认情况下是 pascal case,我认为我们应该强制它默认为 camelCase 并允许用户订购它。

目前要实现camelCasing,我们必须这样做:

    public class CustomJsonSerializer : JsonSerializer
    {
        public CustomJsonSerializer()
        {
            this.ContractResolver = new CamelCasePropertyNamesContractResolver();
        }
    }

并注册类型。

人们应该这样做以禁用camelCasing。

想法?

Breaking Change Up for Grabs

最有用的评论

camelCase

我也+100 :grin:

所有10条评论

默认情况下,camelCasing +100。

camelCase

我也+100 :grin:

我认为所有的序列化程序都应该遵循静态的JsonSettings.RetainCasing (以及JsonSettings.ISO8601DateFormat )。 IMO 最好也将RetainCasing的名称更改为CamelCalse ,例如通过添加另一个属性并从RetainCasing调用它:

[Obsolete("This name is ambiguous, and the property will be removed in a future version. Use CamelCase instead.")]
public static bool RetainCasing
{
    get { return !CamelCase; }
    set { CamelCase = !value; }
}

public static bool CamelCase { get; set; }

:+1: 默认情况下也用于camelCasing 和ISO8601DateFormat。

:+1:

:shipit: :shipit: :shipit:

:+1:

image

我同意,尤其是@khellang所说的。 @PureKrome花了一个小时左右的命名(但没有意识到这并没有扩展到 Json.Net)。 RetainCasing 设置为 false 在默认和 Json.Net 之间的行为不同,我认为这是触发点,希望通过 RetainCasing(或更优选 CamelCasing)静态设置看到相同但可覆盖的行为。

我正在修复南希需要修复的 4 件事情中的一件,以阻止你们(@purekrome)抱怨。

如果其他人想拿起这个,他们可以。 共识是我们应该修复它。

我同意@khellang 的观点,即所有 JSON 序列化程序的设置应该是 1 个位置。

此页面是否有帮助?
0 / 5 - 0 等级