1、Json是什么
JavaScript对象简谱(JavaScript Object Notation)
json是国际通用的一种轻量级的数据交换格式,主要在网络通讯中用于传输数据,或本地数据存储和读取,易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率
游戏中可以把游戏数据按照Json的格式标准存储在Json文档中,再将Json文档存储在硬盘上或者传输给远端,达到数据持久化或者数据传输的目的
Json和Xml的异同:
共同点:都是纯文本,都有层级结构,都具有描述性
不同点:Json配置更简单,Json在某些情况下读写更快速
注意:在以下代码中我存储的文件地址是StreamingAssets文件夹,但通常是使用Application.persistentDataPath,因为StreamingAssets文件夹在某些平台(例如Android)是不可写的
2、编辑Json文件的方式
(1)系统自带——记事本、写字板
(2)通用文本编辑器——Sublime Text等
(3)网页Json编辑器
我用的是vs code,可以直接编辑json文件
3、基础语法
注释和C#中注释方式一致,但是需要设置为”Json with Comments“ 的形式(在vs code右下角设置)
语法规则:
符号含义:
大括号{} | 对象 |
中括号[] | 数组 |
冒号: | 键值对对应关系 |
逗号, | 数据分割 |
双引号“” | 键名/字符串 |
值类型 | 数字(整数或浮点)、字符串、true或false、数组、对象、null |
Json格式是一种键值对结构,表示为:“键名”:值内容
以C#代码为例:
class ClassInfo {
public string name;
public int age;
public bool sex;
public List<int> ids;
public List<Person> students;
public Home home;
public Person son;
}
class Person {
public string name;
public int age;
public bool sex;
}
class Home {
public string address;
public string street;
}
将ClassInfo类转换为Json格式为:
// 大括号包裹的代表一个对象
{
// 冒号代表键值对的对应关系
// 逗号就是分割成员变量的间隔符
// Json当中的键一定要用双引号包裹,值是否用双引号由类型决定
"name": "Waylon",
"age": 18,
"sex": true,
"testF": 1.4, // 用于测试支持浮点类型
// 中括号代表数组
"idx": [1,2,3,4],
"students": [
{"name": "Hong", "age": 5, "sex": false},
{"name": "Ming", "age": 6, "sex": true},
{"name": "Qiang", "age": 8, "sex": true}
// 注意:最后一项不要加逗号,否则解析可能会出问题!!!
],
"home": {
"address": "Cheng",
"street": "Chun"
},
"son": null
}
字典的键(数字)会变成双引号字符串形式,转换时要注意!!!
“dic":{“1”:“123”,“key":{"id":1, "num": 3}}
同时,Json中不会对private, protected进行解释文章来源:https://www.toymoban.com/news/detail-419239.html
4、Excel转Json
暂时可以通过在线转换工具:文章来源地址https://www.toymoban.com/news/detail-419239.html
到了这里,关于Unity之数据持久化——Json的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!