在 Unity 中使用「官方版」 Newtonsoft.Json (Json.net)
Import the "official" Newtonsoft.Json (Json.net) into your Unity project
2023/09/29 15:54:20
Newtonsoft.Json 是 .Net 一個熱門的開源函式庫,它可以讓你輕鬆地序列化和反序列化 JSON 物件、以及一些關於 JSON 的操作。
Unity 也有自己的一套 Json 操作工具函式庫 (JsonUtility
),並且聲稱使用底層引擎直接運算,效率較好,但是有很多使用案例中這套工具是沒辦法支援的,功能性稱不上強大,因此很多人還是傾向使用 Newtonsoft.Json。
在一般 C# 專案中,通常會使用 NuGet 套件管理器來安裝 Newtonsoft.Json,然而 Unity 沒有直接對 Nuget 的支援,這使得我們要安裝相關的套件都要利用第三方的 nuget plugin 或是直接把 dll 放進專案。也有熱心的社群開發者持續維護 Unity 版的 Newtonsoft.Json。
官方似乎有意識到相關的問題,在去年默默地公開了官方版本的 Newtonsoft.json,甚至在最新的 Unity 版本中已經自動添加相關的依賴:
https://docs.unity3d.com/Packages/[email protected]/manual/index.html
安裝方式
雖然這個套件確實放在 Unity 的 registry 裡面,但是直接從 Package Manager 去搜尋是找不到的。我們必須手動去添加。
修改 Packages/manifest.json
(當下(2023/09/30)最新的版本是 3.0.2)
1 | { |
這樣就可以在專案中運用 JsonConvert.DeserializeObject<T>
或是 JsonConvert.SerializeObject
等功能了。