一、什么是 Json
介绍 Json 之前先说说另外一个东西,就是 数据交换格式。
我们最开始通过程序做数据交换的时候其实是使用的 XML,随着时间的推移,XML 慢慢被人们厌烦,因为 XML 格式比较费劲,而且解析也费劲,需要拆装,于是人们就想有没有其他的方式或者是数据接口适合去做数据的传递。
这时候,Json 出现了~~
直接上百科
二、Json 格式
Json 全称 JavaScript Object Notation,它是一种轻量级的数据交换格式(相对于 XML)
Json 有着它自己的一套格式
Json 最外面由 {} 这个大括号组成,并且里面存在很多很多键值对形式的数据,举例:
{"name":"CSDN"}、{
"a"
: 1,
"b"
: [1, 2, 3]}
或者最外面由 [] 这个中括号组成,里面是存放的集合,举例:
[1, 2,
"3"
, {
"a"
: 4}]、[]
还有就是什么都没有,就一个数字或者字符串
3.14、"plain_text"
这些都是正确的 Json 格式的数据
而且,Json 中的值,值可以是对象、数组、数字、字符串或者三个字面值(false、null、true)中的一个。
还有一点,Json 中存储的 k-v 是 k 为唯一的,如果出现两个 k 是相同的,那么后者的 value 会覆盖之前的 value。后面我们会做练习来验证这个
三、如何验证 Json 数据格式
我们这里验证格式有这么几种方式
1. 肉眼去看(当然,数据量少可以去看,一旦数据量庞大,并且还复杂的,这个方法直接GG)
2. 使用工具,打开百度,然后搜索 Json
我们可以使用这个东西进行在线格式化
将你要格式化的数据粘贴到框子里,然后点击 效验即可~
四、自己写一个 Json
先打开我们的 Eclipse,然后就在之前的 AjaxHelloWorld 项目中,创建一个 JsonTest 的类,我们就在这里学习~
我们就先自己写一个最简单的 k-v 格式的数据
这里需要使用 \ 进行转义,不然 " 这个没有办法用,并且,json 一定是用双引号识别字符串,单引号是没有办法使用的
然后运行
可以看到啊,是没有问题的,我们也不需要去验证这个 Json 了,只需要肉眼进行分辨
接着我们写一个学生集合的 Json
首先,一个班级有多个学生,每个学生有学号还有姓名,也就是说我们到时候这个班级的集合中会有多个学生对象,每个学生对象有两个属性(这里需要大家抽象的想象一下,然后我们开始写)
可以看到啊,我们生成了很长的一个 Json,我们用工具进行检测一下,这个 Json 对不对
是没有问题的啊,班级 1 有一个集合,里面都是 1 班的学生,学生 陈1,陈2,班级2里面也有两个学生,陈3、陈4
五、Json 和 XML 对比
上面感觉了一下 Json 格式的数据,然后我们在来对比一下 XML 格式的数据
可以看到啊,首先第一点,别的不多说,这个 XML 写的东西就比 Json 写的东西就多。
再一个就是可读性,Json 属于一种简洁版的,而这个 XML 是属于规范版,各有各的好处,所以不做太多的比较
我们现在用 Json 比较多的是因为 有效数据率,JSON作为数据包格式传输的时候具有更高的效率,这是因为JSON不像XML那样需要有严格的闭合标签,这就让有效数据量与总数据包比大大提升,从而减少同等数据流量的情况下,网络的传输压力。
当然啊,不是说这个 XML 以后不会用啊,也是会的,有一些企业,好比顺丰,他们就是使用的 XML 格式进行数据传输,所以我们都需要学习~~
大家可以自己好好查查看,有不懂的可以联系我 QQ:2100363119
欢迎大家访问我的网站:https://www.lemon1234.com
可以的话关注一下我的公众号,就在我网站,每天都有更新~~~,无限资源畅游 Java,感谢~
最近小程序也开放了,大家可以扫码进行玩玩看