JsonSerializer的问题。使用不同语言字符序列化

问题描述 投票:0回答:1

这是我的代码:

public class TestModel{
  public string AAA{get;set;}
  public string BBB{get;set;}
}
        [Route("Test")]
        public async Task<string> Test()
        {           
            TestModel _TestModel=new TestModel(){AAA="123",BBB="привет123"};
            string JSON = JsonSerializer.Serialize(_TestModel, typeof(TestModel));            
            return JSON;
        }

[当我运行program时,JSON转换成功。

但是,不是英文或数字的字符不能正确转换,只能显示诸如[["\u65B0"之类的奇怪字符串。

我认为可能是编码问题。但是,看来我无法在JsonSerializer.Serialize中设置编码。

我该如何解决这个问题?谢谢。

c# asp.net-core .net-core
1个回答
0
投票
我通过修改JsonSerializer.Serialize来解决此问题:

string JSON = JsonSerializer.Serialize(_TestModel, typeof(TestModel), new JsonSerializerOptions() { Encoder = System.Text.Encodings.Web.JavaScriptEncoder.Create(System.Text.Unicode.UnicodeRanges.All) });

© www.soinside.com 2019 - 2024. All rights reserved.