作者:吳祐賓
在 Delphi 裡寫了轉 Json 超好用的 TDBXJSONToolsHelper 單元後,在 C# 開發工具裡 SharpDevelop 卻沒看到類似的 Json 分析工具,覺得很奇怪,一查才知道 C# 裡的 Json 分析有兩款套件:
- Newtonsoft.Json (Dot Net 2 - 4.5.2)
- System.Text.Json (Dot Net 4.7.2 以上)
使用 SharpDevelop 有幾個困難,首先是它只支援到 Dot Net 4.5.2,所以只能使用 Newtonsoft.Json。Newtonsoft.Json 也很好,但它卻沒有內建在 Dot Net 4.5 中。所以必須自己另外安裝其套件。最後是 SharpDevelop 並沒有設置 NuGet 套件管理工具,再來是 SharpDevelop 要如何導入這些套件。底下會一步一步帶你做完所有流程。
NuGet 套件管理器安裝
雖然 SharpDevelop 並沒有像 Visual Studio 內建 NuGet 套件管理器,不過微軟有主動對開發生態系有釋出 NuGet 獨立執行檔,讓任何 Dot Net 工程師都可以享受 NuGet 套件的便利。你可以到 https://www.nuget.org 的下載頁面取得獨立執行檔 -- nuget.exe。
Newtonsoft.Json 套件使用 NuGet 下載
使用 "命令提示字元" 進入 NuGet 檔案目錄,並使用以下指令進行安裝。預設會安裝最新版本。安裝後可以在 NuGet 所在路徑看到 Newtonsoft.Json 目錄出現。
nuget install Newtonsoft.Json
SharpDevelop 導入 Newtonsoft.Json 方法
使用 SharpDevelop 開啟你的專案,在 Project 管理視窗點擊滑鼠右鍵,路徑
Add Reference > .NET Assembly Browser > Browse... >
Newtonsoft.Json lib 目錄 > Newtonsoft.Json.dll。之後就可以在你的專案使用。
範例程式碼
使用一個簡單的 Json 字串並使用 Newtonsoft.Json 套件載入,最後顯示屬性內容 "hello"
void Button1Click(object sender, EventArgs e) { string json = @"{""name"":""hello""}"; var obj = JsonConvert.DeserializeObject<dynamic>(json); var name = obj["name"]; MessageBox.Show("Hello, " + name); }
總結
微軟為了 Dot NET 生態圈所打造的 NuGet 套件管理器著實好用,就算是 SharpDevelop
也能享受到它的福利,使 Dot NET
開發者不用再為套件一個一個去拜訪其官網,只需要一個 NuGet
就可以整合在一起,這真的太好用!
和你分享
See also
- How to use Nuget in SharpDevelop?
- NuGet.org
- Newtonsoft.com/json
-
文首圖片來源攝影師:Alberta Studios:
https://www.pexels.com/zh-tw/photo/9943846/
沒有留言:
張貼留言