在学习json数据解析之前,我们首先来了解一下什么是json?,json的结构是什么?有哪些规则组成?,当知道这些基本的知识后,就对json不会太陌生了,也为学习json的解析打下一个良好的。(以下基本知识介绍,我都是参考的百度百科)
1.什么是Json
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C++、C#、Java、JavaScript、Perl、Python等)。这些特性使JSON成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率)。
2.JSON 语法规则
在 JS 语言中,一切都是对象。因此,任何支持的类型都可以通过 JSON 来表示,例如字符串、数字、对象、数组等。但是对象和数组是比较特殊且常用的两种类型:
数据在键值对中
数据由逗号分隔
花括号保存对象
方括号保存数组
3.Json的结构
对象:在js中表示为“{}”括起来的内容,数据结构为 {key:value,key:value,…}的键值对的结构,在面向对象的语言中,key为对象的属性,value为对应的属性值,所以很容易理解,取值方法为 对象.key 获取属性值,这个属性值的类型可以是 数字、字符串、数组、对象几种。
表示对象
JSON最常用的格式是对象的 键值对。例如下面这样:
{
"firstName": "Brett",
"lastName": "McLaughlin"
}
数组:在js中是中括号“[]”括起来的内容,数据结构为 [“java”,”javascript”,”vb”,…],取值方式和所有语言中一样,使用索引获取,字段值的类型可以是 数字、字符串、数组、对象几种。
表示数组
和普通的 JS 数组一样,JSON 表示数组的方式也是使用方括号 []。
{
"people":[
{
"firstName": "Brett",
"lastName":"McLaughlin"
},
{
"firstName":"Jason",
"lastName":"Hunter"
}
]
}
这不难理解。在这个示例中,只有一个名为 people的变量,值是包含两个条目的数组,每个条目是一个人的记录,其中包含名和姓。上面的示例演示如何用括号将记录组合成一个值。当然,可以使用相同的语法表示更过多的值(每个值包含多个记录)。
在处理 JSON 格式的数据时,没有需要遵守的预定义的约束。所以,在同样的数据结构中,可以改变表示数据的方式,也可以使用不同方式表示同一事物。
好了,以上就是关于json的基本介绍,下面就要开始我们的主题内容了。在这个登录注册功能的项目中,主要应用了json序列化和反序列化两个重要方法来生成和读取json数据的,我使用的是Newtonsoft插件。关于它的介绍。可以先上网上了解,这里不再累述。
首先我们需要做一个场景,里面包含有登录注册场景,如图所示:
建好场景后,就是要开始写代码了,我们必须先从注册入手,因为
刚开始并没有存储数据,以下是我注册脚本(Register.cs)代码:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;