[Unity][JSON][csv][JSONUnity]csv-JSON如何在CSV文件中保存数组并读取JSON数组
2017-11-13 22:03
1076 查看
接着上一篇 文章 继续,参考资料1使用的 参考资料3 的JSON 文件由于 参考资料2,3 表明 JSON 的数据是可以 存储 数组的。所以就进行测试复制 参考资料3 的 Item.json 的文件内容打开 CSV-JSON 转换的 网址,http://www.convertcsv.com/csv-to-json.htm使用JSON-CSV 转换的功能。发现CSV 文件 保存 数组 的格式是这样的在CSV中这样写,用 记事本打开如下图所示用http://www.convertcsv.com/csv-to-json.htm进行转换,结果如下所示[{"Name": 0,"Level": 99,"Stats": [1,11]},{"Name": 1,"Level": 66,"Stats": [2,22]},{"Name": 2,"Level": 77,"Stats": [3,33]},{"Name": 3,"Level": 88,"Stats": [4,44]},{"Name": 4,"Level": 33,"Stats": [5,55]}]打开Creature.json文件Creature.json文件 内容如下所示{"Items":[{"Name": 0,"Level": 99,"Stats": [1,11]},{"Name": 1,"Level": 66,"Stats": [2,22]},{"Name": 2,"Level": 77,"Stats": [3,33]},{"Name": 3,"Level": 88,"Stats": [4,44]},{"Name": 4,"Level": 33,"Stats": [5,55]}]}JSONDemon.cs的代码如下所示,在注释的那里,添加了一个循环。//添加 显示 数组 的循环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";string jsonStringZ = File.ReadAllText(path);Debug.Log("-----------------------" + jsonStringZ);//Load as ArrayCreature[] _tempLoadListDataZ = JsonHelper.FromJson<Creature>(jsonStringZ);//Convert to ListList<Creature> loadListDataZ = _tempLoadListDataZ.OfType<Creature>().ToList();for (int i = 0; i < loadListDataZ.Count; i++){Debug.Log("ZZZGot: " + loadListDataZ[i].Name+" Level:"+ loadListDataZ[i].Level);for (int j=0;j< loadListDataZ[i].Stats.Length ; j++)//添加 显示 数组 的循环{Debug.Log("ZZZGot Stats " +j+": "+ loadListDataZ[i].Stats[j]);}}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 ArrayPlayerData[] _tempLoadListData = JsonHelper.FromJson<PlayerData>(jsonToLoad);//Convert to ListList<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 ArrayPlayerData[] _tempLoadListData1 = JsonHelper.FromJson<PlayerData>(jsonStringK);//Convert to ListList<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;}显示结果如下所示。和 CSV 文件的内容一致参考资料:1.[Unity][JSON][csv][JSONUnity]csv-JSON复杂数据的管理2.[Unity&数组&List&JSON]创建一个字符串数组string[]类型的list3.[Unity&JSON]LitJSON 读取数组文件,多个数据,玩家得分表数据4.
相关文章推荐
- [Unity&JSON]LitJSON 读取数组文件,多个数据,玩家得分表数据
- QT和VS读取.txt文件中的数据并保存为数组
- OpenGL如何利用glDrawPixels来读取glreadPixels保存的文件
- Unity快捷读取XML、JSON文件
- springBatch完整案例 读取csv文件并保存到数据中
- 如何将数据库连接字符串保存在配置文件中并读取
- scrapy抓取到中文,保存到json文件为unicode,如何解决.
- [置顶] Unity跨平台读取文件(txt,csv,xml等)
- 转载:读取一个文本文件并把文件中的文本保存在一个CString对象中,如何能做到
- win7如何本地让IIS服务器可以读取json文件
- 如何读取csv文件的内容
- prim算法改编,C语言,可将顶点保存到数组,并可读取文件
- 数组 保存为 txt, npy, csv 文件, 数组遍历enumerate
- 把 Integer 数组保存到文件、并读取
- Matlab中的数组保存为csv文件,在VC里面使用
- 如何将数据库连接字符串保存在配置文件中并读取
- android如何保存读取读取文件文件保存到SDcard
- 如何使用opencv的c++接口来读取、写结构体数组到xml文件中
- php读取csv数据保存到数组的方法
- Unity 保存Json数据到本地文件(字典)