目录
Json概述
Json是什么?
全称:JavaScript对象简谱(JavaScript Object Notation)
Json是国际通用的一种轻量级的数据交换格式
主要在网络通讯中用于传输数据,或本地数据存储和读取
易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率
我们一般使用Json文件来记录和传输数据
Json文档就是使用Json格式配置填写的文档
后缀一般为.json
我们在游戏中可以把游戏数据按照Json的格式标准
存储在Json文档中,再将Json文档存储在硬盘上或者传输给远端
达到数据持久化或者数据传输的目的
Json文件格式
Json配置规则
用什么编辑Json文件?
只要能打开文档的软件都能打开Json文件
常用的一些编辑Json文件的方式
1、系统自带 – 记事本、写字板
2.通用文本编辑器 – Sublime Text等等
3.网页上的Json编辑器
注释
和C#中注释方式一致
1.双斜杠//注释内容
2.斜杠加星号/注释内容/
Json格式是一种键值对结构
语法规则
Json数据和类对象的对应关系
配置Json文档时的注意事项
1.如果数据表示对象那么最外层有大括号
2.一定是键值对形式
3.键一定是字符串格式
4.键值对用逗号分开
5.数组用[]包裹
6.对象用{}包裹
Excel转Json
Excel数据转Json数据
1.在百度或者Google搜索Excel转Json
2.选择在线转换的网站
比如:https://www.bejson.com/json/col2json/
3.进行转换
4.保存Json格式的数据
C#读取存储Json文件
JsonUtlity
JsonUtlity序列化
JsonUtlity是什么?
JsonUtlity 是Unity自带的用于解析Json的公共类
它可以
1.将内存中对象序列化为Json格式的字符串
2.将Json字符串反序列化为类对象
在文件中存读字符串
1、存储字符串到指定路径文件中
第一个参数:填写的是存储的路径(必须是存在的文件路径,如果没有对应文件夹会报错)
第二个参数:填写的是存储的字符串内容
File.WriteAllText(Application.persistentDataPath + "/Test.json","chx");
2、在指定路径文件中读取字符串
File.ReadAllText(Application.persistentDataPath + "/Test.json");
使用JsonUtlity进行序列化
[System.Serializable]
public class Student
{
public int age;
public string name;
public Student(int age, string name)
{
this.age = age;
this.name = name;
}
}
public class MrTang
{
public string name;
public int age;
public bool sex;
public float testF;
public double testD;
public int[] ids;
public List<int> ids2;
public Dictionary<int, string> dic;
public Dictionary<string, string> dic2;
public Student s1;
public List<Student> s2s;
[SerializeField]
private int privateI = 1;
[SerializeField]
protected int protectedI = 2