JSON数据格式【学习记录】
迪丽瓦拉
2024-05-25 18:40:55
0

JSON介绍

JSON(JavaScript Objet Notation)是一种轻量级的数据交换格式。它使得人们很容易的进行阅读和编写。同时也方便了机器进行解析和生成。它采用一种键:值对的文本格式来存储和表示数据,在系统交换数据过程中常常被使用,是一种理想的数据交换语言。

“XML的时代已经过去,现在是JSON的时代”。相信现在这个观点很多人已经默认认同,那么我们是否有认真思考过为什么现在JSON能够顶替XML的地位。我们来简单看下两种的表示方式:


杨过 20  小龙女    18

[{"id": "001","name": "杨过","sex": "男","age": "20"},{"id": "002","name": "小龙女","sex": "女","age": "18"}
]

两种方式都是用来描述简单的班级信息,数据不多,但是明显可以看出JSON比XML更加简洁。具体区别可为以下几点:

  • 可读性:JSON和XML的可读性可谓不相上下,一边是简易的语法,一边是规范的标签形式,很难分出胜负。
  • 可扩展性:XML天生有很好的扩展性,JSON当然也有,因此XML能扩展的,JSON也可以扩展。
  • 编码程度:XML有丰富的编码工具,比如DOM4J、JDom等,JSON也提供许多工具。但是在没有工具的情况下,因为XML有很多结构上的字符,编程难度相对较高。
  • 解码难度:XML的解析需要考虑到子节点父节点,难度较大,而JSON的解析难度几乎为0,看上去就能理解数据结构。

JSON认知

JSON具有以下形式(JSON对象、JSON数组、JSON字符串)

  • JSON 对象

在这里插入图片描述

{"id": "002","name": "小龙女","sex": "女","age": "18"
}

这就是一个简单的JSON对象,我们观察可以得出的一些语法:

  1. 数据在花括号中{}
  2. 数据处以键:值对的形式出现(其中键多以字符串的形式出现,值可以为字符串、数值以及JSON对象)
  3. 每两个键:值对以,分隔,最后一个键值对省略,

我们按照上述三个特征,便可以很简单的构建出一个JSON对象。

  • JSON 数组

在这里插入图片描述

["value1","value2","value3"]

[{"id": "001","name": "杨过","sex": "男","age": "20"},{"id": "002","name": "小龙女","sex": "女","age": "18"}
]

数组的表示方式也很简单:

  1. 头尾由[]包裹
  2. 数据主键以,隔开
  • JSON 字符串

在这里插入图片描述

'{"id": "001", "name": "杨过", "sex": "男", "age": "20"}'

JSON字符串与Java的字符串非常相似。

  1. 它必须以""''包裹数据,支持字符串的各种操作
  2. 里面的数据格式可以为JSON对象,也可以是JSON数组亦或者是两个基本类型的组合变形

以上便是JSON的基本形式,JSON可以适用于各种语言,每个语言皆有各自的JSON实现方式。

JSON序列化反序列化的框架有很多,最常见的Jackson、阿里巴巴开源的FastJson、谷歌的GSON、apache提供的json-lib等,下面我们主要来熟悉一下:Java语言中FastJson的使用。

相关内容