目標: 使用 Newtonsoft Json 來解決 Unity 內建的 JsonUtility 無法序列化自訂類別的問題
20210621 編輯: 有些好像用 [System.Serializable] 就可以解決,所以乾脆直接來測試相容性/可用性
測試結果可以到這篇文章看看 : 文章連結
1. 問題
.自訂類別.輸出自訂類別.預期結果.實際結果
2. 環境
3. 程式碼
.使用.位置.方法.實作
4. 結果
5. 小記
1. 問題
.自訂類別
.輸出自訂類別
public class jsontest
{
public string s1;
public int i1;
public c1 e1;
}
public class c1
{
public string s2;
public string s3;
}
public jsontest jt = new jsontest
{
s1 = "string1",
i1 = 123,
e1 = new c1
{
s2 = "string 2",
s3 = "string 33"
}
};.預期結果
Debug.Log(JsonUtility.ToJson(jt, true)); .實際結果
{
"s1": "string1",
"i1": 123,
"e1": {
"s2": "string 2",
"s3": "string 33"
}
}
{
"s1": "string1",
"i1": 123
}
2. 環境
Windows 10Unity 2021.1.12f1
3. 程式碼
.使用
.位置
"com.unity.nuget.newtonsoft-json": "2.0.0" [專案資料夾]\Packages\manifest.json.方法將程式碼加進 [dependencies] 結構欄位內。///注意/// 加進去後要注意前後是否需要補 [,].實作
4. 結果
5. 小記
.沒有測過除了 "2.0.0" 的其他版本.沒記錯的話,較舊的(2019之前)版本需要重開 Unity Editor.明明那麼好用的東西, Unity 怎麼沒有在 Package Manager 裡面出現呢?加入前加入後