iT邦幫忙

2026 iThome 鐵人賽

DAY 24
0
自我挑戰組

學習C#續系列 第 24 篇

Day 24: 控制台 JSON 資料持久化

  • 分享至 

  • xImage
  •  

Newtonsoft.Json(Json.NET)的定位:

  • .NET 生態系歷史最悠久、相容性最高且功能最成熟的 JSON 函式庫,完美支援傳統 .NET Framework 與各版本 C#。
  • 核心靜態門面類別為 JsonConvert,命名空間為 Newtonsoft.Json。

序列化(Serialization):

  • 使用 JsonConvert.SerializeObject(data, Formatting.Indented)。
  • 將記憶體中的 C# 物件/集合轉換為 JSON 字串。
  • 傳入 Formatting.Indented 可以自動美化並縮排排版;且預設直接原生保留中文字元,不會被轉義成 \uXXXX 亂碼格式。

反序列化(Deserialization):

  • 使用 JsonConvert.DeserializeObject(jsonString)。
  • 將本機 .json 檔案文字還原為強型別物件(如 List)。
  • 預設支援屬性名稱的大小寫寬鬆比對。

本機檔案持久化(File Persistence):

  • 搭配 System.IO.File 類別的 File.WriteAllText(path, content) 與 File.ReadAllText(path) 進行檔案讀寫。
  • 在讀取前先使用 File.Exists(path) 進行安全檢查,防止檔案不存在引發 FileNotFoundException。

實作練習
https://ithelp.ithome.com.tw/upload/images/20261007/20178925TGNewlJKRN.png

https://ithelp.ithome.com.tw/upload/images/20261007/20178925KKTJbZp6Tn.png

https://ithelp.ithome.com.tw/upload/images/20261007/20178925zCXsIxXWti.png

https://ithelp.ithome.com.tw/upload/images/20261007/20178925ZlsJTT5Bqw.png


上一篇
Day 23:非同步進階控制與取消機制
下一篇
Day 25: 控制台輕量資料庫:SQLite 與 EF Core
系列文
學習C#續 共 25 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言