Unity 中存储数据到JSON本地文件
2017-09-21 20:48
501 查看
使用列表的方式存储JSON文件到本地,,虽然可以实现,但是读取的时候总出现各种问题,也许是个人水平有限,,个人还是感觉用Dictionary这种键值对的方式存储,更新读取都很方便,推荐查看:点击链接,,
下面是运行后,新创建出来的JsonPerson.json文件的内容,,,
改进后的方法链接:存储和读出都可以实现了!!!推荐查看,,,http://blog.csdn.net/Czhenya/article/details/78057062
using System.Collections; using System.Collections.Generic; using UnityEngine; using LitJson; using System.IO; public class Person { public string Name { get; set; } public double HP { get; set; } public int Level { get; set; } public double Exp { get; set; } public int Attak { get; set; } } public class PersonList { public List<Person> list = new List<Person>(); } public class Classtext : MonoBehaviour { public PersonList personList = null; // Use this for initialization void Start () { Person person = new Person(); person.Name = "Czhenya"; person.HP = 100; person.Level = 30; person.Exp = 3333.33; person.Attak = 50; string json1 = JsonMapper.ToJson(person); Debug.Log(json1.ToString()); Save(person); } /// <summary> b3c1 /// 保存JSON数据到本地的方法 /// </summary> /// <param name="player">要保存的对象</param> public void Save(Person player) { string filePath = Application.dataPath + @"/JsonPerson.json"; // Debug.Log(Application.dataPath + @"/JsonPerson.json"); personList = new PersonList(); if (!File.Exists(filePath)) { personList.list.Add(player); } else { //若没有信息则新建,有则 更新,,, bool bFind = false; //遍历列表 for (int i = 0; i < personList.list.Count; i++) { Person savePlayer = personList.list[i]; if (player.Name == savePlayer.Name) { savePlayer.Level = player.Level; savePlayer.HP = player.Level; savePlayer.Exp = player.Exp; savePlayer.Attak = savePlayer.Attak; bFind = true; break; } } if (!bFind) { personList.list.Add(player); } } //找到当前路径 FileInfo file = new FileInfo(filePath); //判断有没有文件,有则打开文件,,没有创建后打开文件 StreamWriter sw = file.CreateText(); //ToJson接口将你的列表类传进去,,并自动转换为string类型 string json = JsonMapper.ToJson(personList.list); //将转换好的字符串存进文件, sw.WriteLine(json); sw.Close(); sw.Dispose(); } }
下面是运行后,新创建出来的JsonPerson.json文件的内容,,,
[{"Name":"Czhenya","HP":100.0,"Level":30,"Exp":3333.33,"Attak":50}]
改进后的方法链接:存储和读出都可以实现了!!!推荐查看,,,http://blog.csdn.net/Czhenya/article/details/78057062
相关文章推荐
- Unity 保存Json数据到本地文件
- Unity 保存Json数据到本地文件
- Unity本地数据存储---Sqlite和JSON
- Unity 保存Json数据到本地文件(字典)
- rtmpdump 捕获 rtmp视频数据 本地存储为 flv文件
- 【Unity3D插件】在Unity中读写文件数据:LitJSON快速教程
- 【Unity3D插件】在Unity中读写文件数据:LitJSON快速教程
- BaseAdapter,这篇博客讲深入一些,实现从本地的JSON文件读取数据
- Android数据存储——2.文件存储_F_解析JSON文档
- iOS应用程序安全(20)-本地数据存储及其安全性(NSUserDefaults, CoreData, Sqlite, Plist 文件)
- 在Unity中读写文件数据:LitJSON快速教程 - 王选易
- iOS应用程序安全(20)-本地数据存储及其安全性(NSUserDefaults, CoreData, Sqlite, Plist 文件)
- HTML5 LocalStorage 本地存储JSON数据
- unity中三种数据存储方式ScriptableObject,Json,Xml和Dictionary的序列化
- 【Unity&XML&JSON】浅谈XML与JSON等游戏数据存储的优劣及其应用
- Android数据存储——2.文件存储_F_解析JSON文档
- 页面的浏览次数尝试用json数据存储到文件中
- Unity数据存储(二进制,xml,json)
- Unity项目中使用SQLite来管理本地数据存储
- H5本地存储详细使用教程(localStorage + JSON数据存储应用框架)