iT邦幫忙

2022 iThome 鐵人賽

DAY 14
0
Software Development

.net6套件入門系列 第 14

[.net 6] 解決System.Text.Json序列化後會將所有非ASCII轉為Unicode

  • 分享至 

  • xImage
  •  

目的

序列化時不自動將非ASCII轉為Unicode

同步更新於個人部落格
範例

1.建立新專案

選擇ASP.NET Core Web API專案範本,並執行下一步
步驟1

2.設定新的專案

命名你的專案名稱,並選擇專案要存放的位置。
步驟2

3.其他資訊

直接進行下一步
步驟3

4.編輯WeatherForecastController檔案

將預設的API註解,寫入新的Action,預設不會引用System.Text.Json,記得在最上面using
步驟4-1

    [HttpGet("JsonSerialize")]
    public ActionResult JsonSerialize() {
      var options = new JsonSerializerOptions {
        //美化輸出,會有空白字元
        WriteIndented = true,
        //將所有語言都不進行轉換
        Encoder = JavaScriptEncoder.Create(UnicodeRanges.All)
      };

      var Test = new TestClass() {
        Name = "中文名",
        Age = 18,
      };
      var Result = JsonSerializer.Serialize(Test, options);
      return Ok(Result);
    }

    public class TestClass {
      public string Name { get; set; }
      public int Age { get; set; }
    }

步驟4-2

5.執行結果

中文就不會是unicode了
步驟5-1

參考

How to serialize and deserialize

範例檔

GitHub


上一篇
[.net 6] System.Text.Json序列化範例
下一篇
[.net 6] 更改回傳Json時為大駝峰命名
系列文
.net6套件入門30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言