自訂 JSON Property Names 轉換格式

在 ASP.NET Core 上,Response 的 JSON Property Names 預設為 CamelCase,此範例說明轉換為 SnakeCaseLower 的方法,如 purchaseOrderNumber 轉換為 purchase_order_number。內建的 SnakeCase Naming Policy 有區分大小寫,即 SnakeCaseLowerSnakeCaseUpper,但對 Request 來說,沒有區分大小寫。

共有五種 Naming Policy,可參考 Use a built-in naming policy

範例

  1. 建立 ASP.NET Core Web API (.NET 8) 專案

  2. Program.cs 配置 JsonSerializerOptions.PropertyNamingPolicy

    1
    2
    3
    4
    5
    builder.Services.AddControllers()
    .AddJsonOptions(options =>
    {
    options.JsonSerializerOptions.PropertyNamingPolicy = JsonNamingPolicy.SnakeCaseLower;
    });

References