.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框架遷移的。

參考文章:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM