目的

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

建立新專案

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

設定新的專案

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

其他資訊

直接進行下一步 步驟3

編輯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

執行結果

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

參考

How to serialize and deserialize

範例檔

GitHub