情不知从何起,一往而情深
排名
6
文章
6
粉丝
16
评论
8
{{item.articleTitle}}
{{item.blogName}} : {{item.content}}
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2024TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术

.net core3.0 json序列化

6043人阅读 2020/4/27 19:19 总访问:1011844 评论:0 收藏:0 手机
分类: .net core

.net core3.0 开始 json序列化就换成了System.Text.Json.JsonSerializer,据说效率快一点。

使用方法基本一样


序列化:

System.Text.Json.JsonSerializer.Serialize(obj);

反序列化:

List<NoteWall> noteWalls = System.Text.Json.JsonSerializer.Deserialize<List<NoteWall>>(noteWallStr);


解决序列化中文时候编码的问题:

var options = new JsonSerializerOptions ();
options.Encoder = System.Text.Encodings.Web.JavaScriptEncoder.Create (UnicodeRanges.All);
var json=JsonSerializer.Serialize (new { title = "晓" }, options);
Console.WriteLine(json);

对于 web api 项目,在 Startup 中添加如下的配置:

public void ConfigureServices(IServiceCollection services){
    services.AddControllers().AddJsonOptions(options =>
    {
        options.JsonSerializerOptions.Encoder = JavaScriptEncoder.Create(UnicodeRanges.All);
    });
}

符号转义问题:

string bJsonString = System.Text.Json.JsonSerializer.Serialize(    value: jsonObject,
    options: new System.Text.Json.JsonSerializerOptions
    { 
        Encoder = System.Text.Encodings.Web.JavaScriptEncoder.UnsafeRelaxedJsonEscaping
    });

欢迎加群讨论技术,群:677373950(满了,可以加,但通过不了),2群:656732739

评价