恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

Unity-基于JsonUtility的Json文件读写

  • 首页
  • 资讯中心
  • /
  • Unity-基于JsonUtility的Json文件读写

相关资讯

2026年杭州ONDA Pro冷微波溶脂哪家做的好 2026/8/4 18:31:30
Java线程池与ForkJoinPool核心区别与实战指南 2026/8/4 18:31:30
ROS 2 SLAM实时性测试框架设计与实践 2026/8/4 18:31:30

最新资讯

终极免费NVIDIA显卡优化神器:如何用NVIDIA Profile Inspector提升游戏性能
SpringBoot+Vue兼职平台全栈开发实践
转写速度最快最慢差6倍2026实测8款会议记录自动生成软件 哪款更适合职场办公
语音转文字会议记录软件2026免费额度够用吗实测多款后给出真实结论
GEO优化是什么?一文读懂生成式引擎优化的核心逻辑
豆包智能体落地全链路拆解(企业级私有化部署实录)

今日推荐

League Akari:重塑英雄联盟游戏体验的智能工具集
一边降查重,一边消 AI 痕迹!工具到底该怎么搭配?
Go 数据库连接池与协程抢占——防止慢查询拉垮核心 Goroutine 调度

本周热门

ncmdumpGUI:一键解锁网易云音乐ncm文件的终极解决方案
分布式配置中心选型实战:Nacos与Consul在创业场景下的对比
MoneyPrinterPlus实战指南:AI视频批量生成与自动化发布完整解决方案

本月精选

如何用DamaiHelper实现演唱会门票的智能自动化抢购:完整技术解决方案指南
第4篇:59 倍性能差距的索引瓶颈定位——一次教科书级的全表扫描调优
终极歌词批量下载神器:5分钟解决离线音乐库歌词同步难题

Unity-基于JsonUtility的Json文件读写

发布时间:2026/8/4 18:31:30
Unity-基于JsonUtility的Json文件读写 前言在 Unity 开发中配置存档、参数、UI 状态、参数保存几乎都离不开 JSON 读写。Unity 自带JsonUtility原生、轻量、跨平台、打包无报错、零依赖。本篇给大家一套全网最简、可直接商用的 JSON 读写模板包含✅ 单数据读写✅ List 列表读写✅ 通用工具类全局一行调用✅ 所有坑点完整避坑✅ 适配编辑器 打包 Windows/安卓一、核心原理必看1. 核心 APIJsonUtility.ToJson()对象转 JSON 字符串保存JsonUtility.FromJson()JSON 字符串转对象读取2. 三条铁律99%报错的原因数据类必须加[Serializable]字段必须是public原生不支持直接 数组/List 顶层 JSON需要包装类二、最简完整代码可直接复制使用1. 数据模型类示例PLC配置using System; /// summary /// 可序列化的JSON数据模型 /// /summary [Serializable] public class PlcConfigData { public string Ip; public int Rack; public int Slot; public float Speed; public bool IsConnected; }2. 通用 JSON 工具类全局通用静态工具类项目放任意位置整项目通用。using UnityEngine; using System.IO; /// summary /// Unity 原生JSON读写工具类 /// /summary public static class JsonTool { /// summary /// 保存数据到JSON文件 /// /summary public static void SaveJsonT(T data, string path) { string json JsonUtility.ToJson(data, prettyPrint: true); File.WriteAllText(path, json); Debug.Log($JSON保存成功{path}); } /// summary /// 读取JSON文件 /// /summary public static T LoadJsonT(string path) { if (!File.Exists(path)) { Debug.LogWarning(JSON文件不存在); return default; } string json File.ReadAllText(path); return JsonUtility.FromJsonT(json); } }3. 调用示例一行保存、一行读取using UnityEngine; using System.IO; public class JsonTest : MonoBehaviour { // 持久化路径编辑器 打包通用 private string SavePath Path.Combine(Application.persistentDataPath, plcConfig.json); void Start() { // 1. 构造测试数据 PlcConfigData data new PlcConfigData() { Ip 192.168.0.1, Rack 0, Slot 1, Speed 35.5f, IsConnected false }; // 2. 保存JSON JsonTool.SaveJson(data, SavePath); // 3. 读取JSON PlcConfigData load JsonTool.LoadJsonPlcConfigData(SavePath); if (load ! null) { Debug.Log(读取IP load.Ip); Debug.Log(读取速度 load.Speed); } } }保存示例读取示例注意在Unity中脚本要能拖拽到游戏对象上需满足继承自MonoBehaviour这一硬性条件而要在Inspector中拖拽赋值字段则需要该字段为public或标记[SerializeField]。三、List/数组 列表数据读写高频需求重点坑Unity Json 不支持直接序列化 List 顶层对象解决方案外层套一个包装类1. 列表包装类using System; using System.Collections.Generic; [Serializable] public class DataListWrapper { public ListPlcConfigData DataList; }2. 列表保存读取示例using System.Collections.Generic; using System.IO; using UnityEngine; public class JsonTest : MonoBehaviour { // 持久化路径编辑器 打包通用 private string SavePath Path.Combine(Application.persistentDataPath, plcConfigList.json); void Start() { // 保存列表 DataListWrapper wrap new DataListWrapper(); wrap.DataList new ListPlcConfigData(); wrap.DataList.Add(new PlcConfigData() { Ip 192.168.0.2, Rack 0, Slot 2 }); JsonTool.SaveJson(wrap, SavePath); // 读取列表 DataListWrapper loadWrap JsonTool.LoadJsonDataListWrapper(SavePath); if (loadWrap ! null) { foreach (var item in loadWrap.DataList) { Debug.Log(item.Ip); } } } }保存示例读取示例四、JSON 文件位置在哪里编辑器路径C:\Users\你的用户名\AppData\LocalLow\公司名\项目名\AppData 是隐藏文件夹直接粘贴地址回车即可打开。五、全网最齐全的踩坑总结1. 类没有加 [Serializable]现象生成空 JSON{}读取全部为空、不报错解决必须加序列化特性2. 字段写成 private私有字段无法序列化JSON 不显示3. 保存立刻读取偶尔读不到磁盘写入延迟解决方案协程延迟读取4. 不能直接存 Dictionary原生不支持字典需要用 List 替代或 Newtonsoft.Json5. 不要用 dataPath 存档dataPath打包后只读必须用persistentDataPath六、优缺点总结✅ 优点零插件、原生自带跨平台 Windows / Android / IOS速度快、轻量、无冲突工业仿真、PLC项目、工具项目完全够用❌ 缺点不支持顶层数组不支持 Dictionary结语90% 的 Unity 存档、配置需求原生 JsonUtility 完全够用不需要第三方插件。本文这套工具类是最简、最稳通用模板。

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号