[請益] 關於把陣列轉json的問題

看板GameDesign (遊戲設計)作者 (kons)時間5年前 (2020/12/01 03:42), 5年前編輯推噓15(15010)
留言25則, 10人參與, 最新討論串1/1
在網路看了一些教學,自己試著做做看,但轉出來的json都只有{},內容都空的。 https://i.imgur.com/h9fmUM6.jpg
https://i.imgur.com/ZC7oDkn.jpg
我用Debug.Log看,都有存到陣列中, 問題應該是出在轉字串的時候。 如果我把 data = JsonUtility.ToJson(saveBag) 改成 data = JsonUtility.ToJson(saveBag.bagItem[1]) 在Debug的地方可以看到顯示字串。 但就是沒辦法存兩筆以上的資料。 教學反覆看了幾次還是找不到答案, 請問是我哪裡理解錯誤?謝謝。 -- 至今我仍然深深相信,我是個帥哥,不過是量子力學定義中的帥哥。 當沒人觀測我的時候,我肯定是全地球最帥的男人。 Line:kons0815 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.177.32.178 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/GameDesign/M.1606765345.A.6CA.html

12/01 11:16, 5年前 , 1F
試試 JsonUtility.ToJson(saveBag.bagItem)
12/01 11:16, 1F

12/01 12:24, 5年前 , 2F
你的兩個物件都要加上 [Serilizable] 的屬性
12/01 12:24, 2F

12/01 12:25, 5年前 , 3F
類別
12/01 12:25, 3F
再查了一些資料,似乎是原版unity提供的轉Json無法識別自訂義的類別, 我把類別都拿掉,只單純存字串進去就可以了。 ※ 編輯: kons (180.177.32.178 臺灣), 12/01/2020 20:43:44

12/01 20:42, 5年前 , 4F
同二樓
12/01 20:42, 4F

12/01 20:45, 5年前 , 5F
加在playitem的class前就ok
12/01 20:45, 5F

12/01 20:46, 5年前 , 6F
原本的忘了是不是Dictionary包list之類的會有問題 其他簡
12/01 20:46, 6F

12/01 20:46, 5年前 , 7F
單的自定義class應該沒問題
12/01 20:46, 7F

12/01 21:31, 5年前 , 8F
沒這回事,你加上我說的屬性就對了,記得 using System
12/01 21:31, 8F
https://i.imgur.com/YNYmoeJ.png
請問像這樣嗎?好像還是沒辦法存成Json,感謝提供建議,我再試試看。 ※ 編輯: kons (180.177.32.178 臺灣), 12/01/2020 21:56:53

12/02 00:32, 5年前 , 9F
class要繼承 MonoBehaviour 或 ScriptableObject
12/02 00:32, 9F

12/02 00:36, 5年前 , 10F
把資料打包成純資料struct吧,MonoBehaviour和Sprite
12/02 00:36, 10F

12/02 00:36, 5年前 , 11F
應該有不少跟Serializable attribute不合的非純資料子
12/02 00:36, 11F

12/02 00:36, 5年前 , 12F
物件
12/02 00:36, 12F
感謝各位大大的提點,今天看了另一個教學, 雖然有些地方還不太懂,但可以成功儲存了,再次感謝大家。 https://i.imgur.com/fj5WsFd.jpg
https://i.imgur.com/klX7sk0.jpg
※ 編輯: kons (180.177.32.178 臺灣), 12/02/2020 04:06:48

12/03 20:46, 5年前 , 13F
12/03 20:46, 13F

12/06 11:09, , 14F
阿 拿掉monobehaviour才對 單純的class拿來轉就ok
12/06 11:09, 14F

12/06 11:15, , 15F
不能轉List要一般陣列
12/06 11:15, 15F

12/06 11:22, , 16F
我記得某一版之後List是可正常轉的.其他容器就不行.
12/06 11:22, 16F

12/08 10:16, , 17F
Dictionary比較煩,還有List Dictionary互包那種
12/08 10:16, 17F

12/09 17:16, , 18F
用newton啊 好用
12/09 17:16, 18F

12/09 18:33, , 19F
Newton兩年前某版會有問題,iOS審查卡那邊
12/09 18:33, 19F

12/09 19:31, , 20F
newton 會卡 .net framework 版本. 當時要選用適當的版本.
12/09 19:31, 20F

12/09 19:31, , 21F
可以選用其他也支援這些容器的 json library
12/09 19:31, 21F

12/10 11:49, , 22F
或是自己寫個helperclass 基本上Stackoverflow有一堆可參
12/10 11:49, 22F

12/10 11:49, , 23F
12/10 11:49, 23F

12/13 15:26, , 24F
12/13 15:26, 24F

12/13 15:26, , 25F
nsoft.Json-AOT 這個版本可處理ios過不了的問題
12/13 15:26, 25F
文章代碼(AID): #1VnKiXRA (GameDesign)
文章代碼(AID): #1VnKiXRA (GameDesign)