【问题标题】:Avoid auto lowercase first letter in asp.net json response避免在asp.net json响应中自动小写首字母
【发布时间】:2021-09-11 00:42:48
【问题描述】:

在我的 asp.net razor 项目中,json 响应总是小写第一个字母,这很烦人。因为我会处理从后端到前端的不同名称。

我的班级:

    [JsonProperty("Test")]
    public string Test { get; set; } => json responce: Test (good)

    public string Test2 { get; set; } => json responce: test2 (bad)

    [JsonPropertyName("Test3")]
    public string Test3 { get; set; }  => json responce: test3 (bad)
    
    

我可以避免在每个值字段上添加 JsonProperty 标记吗?

【问题讨论】:

  • 你为什么关心前端的小写字母?这实际上是正常的事情,这就是为什么 .NET 默认会这样做。
  • 为了一致的命名。尤其是我的数据有 CT_Image 之类的字段,这些字段将来自 cT_image,看起来不正确。

标签: asp.net json razor


【解决方案1】:

您可以创建自定义 formatter 或通过提供 NamingStrategy 来使用 DefaultContractResolver。例如检查以下代码:

User user = new User
{
    UserName = "jamesn",
    Enabled = true
};

DefaultContractResolver contractResolver = new DefaultContractResolver
{
    NamingStrategy = new CamelCaseNamingStrategy()
};

string json = JsonConvert.SerializeObject(user1, new JsonSerializerSettings
{
    ContractResolver = contractResolver,
    Formatting = Formatting.Indented
});

Console.WriteLine(json);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-08-21
    • 2018-09-12
    • 2013-12-17
    • 2019-07-23
    • 2020-04-04
    • 1970-01-01
    • 2021-10-20
    • 1970-01-01
    相关资源
    最近更新 更多