Unity3D的JsonUtility使用
258 字
1 分钟
Unity3D的JsonUtility使用
记录一下使用 JsonUtility 遇到的坑.
1. 类或字段必须是可序列化的
- class 必须是 public 或者带[Serializable]的 Attribute.
- field 必须是 public 或带[SerializeField]的 Attribute.
[SerializeField]属性, 有 UnityEngine 提供, 表示序列化时需要强制序列化这个字段.
[Serializable]internal class CfgBuild{ public int Id; public string Name; [SerializeField] private int Age;}2. 不支持解析 Json 的 Array
[ { "ID": 1, "Name": "n1" }, { "ID": 2, "Name": "n2" }]上面的 JSON 会直接反序列化失败. 但是支持 JSON 中包含 Array, 如下所示:
{ "list": [ { "ID": 1, "Name": "n1" }, { "ID": 2, "Name": "n2" } ]}目前笔者搜索的解决方案也是在外部封装一层.
3. 不支持 get 和 set
// get和set不支持// public int ret { get; set; }不会报错,不影响代码执行。但是会导致反序列化后的bean没有赋值.4. 其他
笔者使用还比较少, 没有详细去处理异常的状态. 扩展信息可以从参考资料中查看5. 参考资料
支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!
Unity3D的JsonUtility使用
https://tinyzzh.github.io/posts/2017-09-03-unity3d_jsonutility_1/ 相关文章 智能推荐
1
逆向实验室 - 使用AssetStudio提取Unity3D素材资源
逆向工程 2022-10-27
2
Rust 2026 经验谈 - 异步 + FFI:桥接同步与异步世界
Rust block_in_place 与 spawn_blocking 的区别与选型、criterion 异步 benchmark 实操、与 C 库的异步交互模式、在异步运行时中调用阻塞系统库的经验。
3
Rust 2026 经验谈 - 异步流与迭代
Rust Stream trait 的实现与用法、async generator 的 nightly 状态、async fn 返回 Stream 的模式、背压控制、Stream 与 Iterator 的对比。
4
Rust 2026 经验谈 - Tokio 2026 实战
Rust Tokio 运行时配置选型、spawn 策略、task budgeting 与 cooperative yielding、tokio::select! 与 Cancel safety、join! vs try_join!、运行时生命周期管理。
5
Rust 2026 经验谈 - async/await 底层机制
Rust Future trait 详解、pinning 心智模型、poll 语义与状态转换、编译器生成的状态机反编译查看、与 goroutine/green thread 的对比。
随机文章 随机推荐
TinyZ's Blog