.net core 3.0中的Json API

在.net core 3.0中,内置了一套新的json api,主要用于去除asp.net core对json.net的依赖,同时也提供了更好的性能(直接处理 UTF-8,而无需转码到 UTF-16)。虽然没有正式发布,随着几个preview版本下来,已经有一个功能比较完善的版本了,本文这里就简单的介绍一下它的用法: 

对象序列化为JSON

将一个对象序列化为Json可以使用JsonSerializer类,它类似与json.net中的JsonConvert类,使用方式如下。 

class WeatherForecast
{
    public DateTimeOffset Date         { get; set; }
    public int            TemperatureC { get; set; }
    public string         Summary      { get; set; }
}
 
string Serialize(WeatherForecast value)
{
    return JsonSerializer.ToString(value);
}

 将Json反序列化为对象

反序列化的方式也和Json.net非常类似 

string Serialize(WeatherForecast value)
{
    var options = new JsonSerializerOptions
    {
        WriteIndented = true
    };
 
    return JsonSerializer.ToString(value, options);
}

其它的更多用法可以参考微软的官方博客:Try the new System.Text.Json APIs

总体试用下来的感觉是,基本功能都有,但和json.net比起来高级功能还有许多缺失,但足以满足大部分场景下的需要了。加上是系统内置的,用起来还是非常方便的。相信未来会有越来越多的使用json.net的场景会向内置的json框架迁移的。

参考文章:

 

转载于:https://www.cnblogs.com/TianFang/p/11037246.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值