Utf8JsonWriter類
下面研究一下如何寫入json文件。這裏需要使用Utf8JsonWriter類。
直接看代碼:
這個類需要傳遞的參數類型是Stream或者Buffer,也就是向Stream或Buffer裏面寫入數據。
那麼就提供一個buffer:
下面單獨寫一個方法,來生成json數據:
參數類型是Utf8JsonWriter。通過智能提示可以看到它提供了很多用於寫入不同類型數據的方法。
寫JSON對象
現在我想寫一個json對象,那麼就從WriteStartObject()開始,然後以WriteEndObject()結束:
這樣的話,實際上我已經擁有了一個合法的json文檔。
寫屬性和值
可以分開寫屬性和值:
也可以同時把屬性和值寫出來:
顯示JSON數據
我先寫這些內容,然後在Main方法裏面調用一下:
首先需要告訴writer把它的內容flush給buffer,使用這個buffer我們可以獲得writer的輸出,這樣的話就會得到一個byte數組,然後把這個byte數組轉化爲字符串,這樣就可以在控制檯顯示它了:
運行一下看看效果:
沒啥太大的問題,就是格式不好看。
對輸出進行格式化
.NET Core提供了一個JsonWriterOptions類,它可以對Writer進行一些設置。
這裏對輸出進行了縮進,最後把這個options傳遞給Utf8JsonWriter的構造函數即可。
再次運行:
現在好看多了。