在.net core 3.0中,内置了一套新的json api,主要用于去除asp.net core对json.net的依赖,同时也提供了更好的性能(直接处理 UTF-8,而无需转码到 UTF-16)。虽然没有正式发布,随着几个preview版本下来,已经有一个功能比较完善的版本了,本文这里就简单的介绍一下它的用法: git
对象序列化为JSONgithub
将一个对象序列化为Json能够使用JsonSerializer类,它相似与json.net中的JsonConvert类,使用方式以下。 json
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反序列化为对象api
反序列化的方式也和Json.net很是相似 框架
string Serialize(WeatherForecast value) { var options = new JsonSerializerOptions { WriteIndented = true }; return JsonSerializer.ToString(value, options); }
其它的更多用法能够参考微软的官方博客:Try the new System.Text.Json APIs。asp.net
整体试用下来的感受是,基本功能都有,但和json.net比起来高级功能还有许多缺失,但足以知足大部分场景下的须要了。加上是系统内置的,用起来仍是很是方便的。相信将来会有愈来愈多的使用json.net的场景会向内置的json框架迁移的。性能
参考文章:spa