[请益] 关于把阵列转json的问题

楼主: kons (kons)   2020-12-01 03:42:22
在网络看了一些教学,自己试着做做看,但转出来的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的地方可以看到显示字串。
但就是没办法存两笔以上的资料。
教学反复看了几次还是找不到答案,
请问是我哪里理解错误?谢谢。
作者: petitbleu (*大卷儿*)   2020-12-01 11:16:00
试试 JsonUtility.ToJson(saveBag.bagItem)
作者: wix3000 (痒,好吃)   2020-12-01 12:24:00
你的两个物件都要加上 [Serilizable] 的属性类别
作者: kingroy (手残总比脑残好)   2020-12-01 20:42:00
同二楼加在playitem的class前就ok原本的忘了是不是Dictionary包list之类的会有问题 其他简单的自定义class应该没问题
作者: wix3000 (痒,好吃)   2020-12-01 21:31:00
没这回事,你加上我说的属性就对了,记得 using System
作者: ctrlbreak   2020-12-02 00:32:00
class要继承 MonoBehaviour 或 ScriptableObject
作者: cjcat2266 (CJ Cat)   2020-12-02 00:36:00
把资料打包成纯资料struct吧,MonoBehaviour和Sprite应该有不少跟Serializable attribute不合的非纯资料子物件
作者: kingroy (手残总比脑残好)   2020-12-06 11:09:00
阿 拿掉monobehaviour才对 单纯的class拿来转就ok
作者: jackyT (Ubuntu5566)   2020-12-06 11:15:00
不能转List要一般阵列
作者: NDark (溺于黑暗)   2020-12-06 11:22:00
我记得某一版之后List是可正常转的.其他容器就不行.
作者: kingroy (手残总比脑残好)   2020-12-08 10:16:00
Dictionary比较烦,还有List Dictionary互包那种
作者: linaomasa (没穿裤子先生)   2020-12-09 17:16:00
用newton啊 好用
作者: kingroy (手残总比脑残好)   2020-12-09 18:33:00
Newton两年前某版会有问题,iOS审查卡那边
作者: NDark (溺于黑暗)   2020-12-09 19:31:00
newton 会卡 .net framework 版本. 当时要选用适当的版本.可以选用其他也支援这些容器的 json library
作者: kingroy (手残总比脑残好)   2020-12-10 11:49:00
或是自己写个helperclass 基本上Stackoverflow有一堆可参考
作者: gsyung (阿尔.克莱茵)   2020-12-13 15:26:00
newtonsoft.json 用 https://github.com/Votrubec/Newtonsoft.Json-AOT 这个版本可处理ios过不了的问题

Links booklink

Contact Us: admin [ a t ] ucptt.com