[Unity][JSON][List][JSONUnity]多个角色的数据读取写入JSON数据
来源:互联网 发布:ubuntu修改镜像源 编辑:程序博客网 时间:2024/06/06 13:24
接着上一篇文章 继续 JSON 的存储,相关文章1
上一篇文章 讲的 是 一个 角色 存储 JSON 数据,读取写入。
本文讲的是 多个 角色 存储 JSON 数据,读取写入。
它支持List
和List
数组
由于Unity的 5.2以上版本 已经 支持 JSON ,也就是说 ,可以不用引入 外部 的 JSON.dll 库(LitJSON.dll),就可以
使用 unity 自带 的JSON 序列化工具。
新增的 代码主要是参考资料 1,2
显示结果如下图所示
代码如下图所示
using System.Collections;using System.Collections.Generic;using UnityEngine;using System.IO;using System.Linq;//.OfType//Using JSONUtility in Unity 5.3 - Working with JSON in Unitypublic class JSONDemon : MonoBehaviour { string path; string jsonString; private void Start() { path = Application.streamingAssetsPath + "/Creature.json"; jsonString = File.ReadAllText(path);//读取数据 Creature yyy = JsonUtility.FromJson <Creature>(jsonString); Debug.Log("-----------------------"); Debug.Log(" "+yyy.Name); Debug.Log(" " + jsonString); yyy.Level = 666; string newyyy = JsonUtility.ToJson(yyy); Debug.Log("-----------------------"); Debug.Log(" " + jsonString); Debug.Log(" " + yyy.Level); File.WriteAllText(path, newyyy);//写入数据 string jsonString1 = File.ReadAllText(path); Creature yyy1 = JsonUtility.FromJson<Creature>(jsonString1); Debug.Log("-----------------------"); Debug.Log(" " + jsonString1); Debug.Log(" " + yyy1.Level); Debug.Log("-----------------------"); List<PlayerData> saveListData = new List<PlayerData>();//************************************* PlayerData saveData = new PlayerData(); saveData.name = "Programmer666"; saveData.score = 80; saveListData.Add(saveData);//************************************* PlayerData saveData1 = new PlayerData();//************************************* saveData1.name = "Programmer777"; saveData1.score = 90; saveListData.Add(saveData1);//************************************* string jsonToSave = JsonHelper.ToJson(saveListData.ToArray()); PlayerPrefs.SetString("Data", jsonToSave); PlayerPrefs.Save();//保存在 PlayerPrefs.Save() 本地化保存数据 string jsonToLoad = PlayerPrefs.GetString("Data"); //Load as Array PlayerData[] _tempLoadListData = JsonHelper.FromJson<PlayerData>(jsonToLoad); //Convert to List List<PlayerData> loadListData = _tempLoadListData.OfType<PlayerData>().ToList(); for (int i = 0; i < loadListData.Count; i++) { Debug.Log("Got: " + loadListData[i].name); } Debug.Log("-----------------------"+jsonToLoad); File.WriteAllText(Application.dataPath + "/Player.json", jsonToLoad); string jsonStringK = File.ReadAllText(Application.dataPath + "/Player.json"); Debug.Log("-----------------------" + jsonStringK); //Load as Array PlayerData[] _tempLoadListData1 = JsonHelper.FromJson<PlayerData>(jsonStringK); //Convert to List List<PlayerData> loadListData1 = _tempLoadListData.OfType<PlayerData>().ToList(); for (int i = 0; i < loadListData1.Count; i++) { Debug.Log("777Got: " + loadListData1[i].name); } }}[System.Serializable]public class Creature{ public string Name; public int Level; public int[] Stats;}[System.Serializable]public class PlayerData{ public string name; public int score;}
相关文章:
1.[Unity][JSON]读取写入玩家数据
2.
3.
参考资料:
1.
Unity JSON Add data to existing json data
2.
Serialize and Deserialize Json and Json Array in Unity
3.
4.
阅读全文
0 0
- [Unity][JSON][List][JSONUnity]多个角色的数据读取写入JSON数据
- [Unity][JSON][csv][JSONUnity]csv-JSON复杂数据的管理
- [Unity][JSON]读取写入玩家数据
- json读取和写入数据
- unity中从txt文件中读取解析json数据&&unity中json数据写入txt文件
- [Unity&JSON]LitJSON 读取数组文件,多个数据,玩家得分表数据
- php写入和读取json数据方法
- [Unity][JSON][csv][JSONUnity]csv-JSON如何在CSV文件中保存数组并读取JSON数组
- [Unity&JSON]如何在同一个JSON文档中存入多个不同类型的数据
- 在unity中如何读取json数据
- XZ_Swift之加载本地json数据、将json数据写入磁盘、从磁盘读取json数据
- 【Unity&JSON】JSON数据怎么才能读写多个数据,并创建数组
- unity使用SimpleJSON读取json数据转存程VO存入list内
- 使用Apache POI读取Excel文件,将读取的数据转换成json写入文本文件
- json 数据写入mysql 数据库的方法
- 【Android实战】json文件读取并将数据写入文件
- struts2 读取json数据
- Grid读取json数据
- 找工作所想
- mybatis连接MySQL超时
- ECS Centos7 磁盘挂载与NFS共享
- 平面中点间距小于阈值的异常点探测
- 链式栈 C语言数据结构
- [Unity][JSON][List][JSONUnity]多个角色的数据读取写入JSON数据
- 第三周周总结
- MyBatis中Like语句使用方式
- js回显复选框,后台动态查询数据显示复选框
- [编程题] 寻找三角形
- 操作符new
- java XML解析
- qt单元测试用法,qt5单元测试例子,qt5单元测试demo,测试你的函数
- C