文章目录
一、JSON基础
1.JSON语法
JSON是一种由双引号包裹的,名称-值对为组成形式的数据格式,如
"MyNamIs":"json"
注意:JSON名称和值对中都可以使用空格和特殊字符(除a~z 0~9以外的字符)。但是这样会影响移植性,所以为了保证最大的移植性,应该尽量避免使用。
2.JSON对象与JSON数组
JSON对象
JSON对象是使用逗号分隔的名称-值对构成的集合,并使用花括号{}包裹,如:
{
"one":"1",
"two":"1",
"three":"1",
"one":"1"
}
JSON数组
JSON数组是值的集合或列表,每个值都可以是字符串、数字、布尔值、对象或数组中的任何一种。数组必须被方括号[]包裹,如:
"two":[
"2",
"2"
]
对象与数组之间的区别
1.对象是名称-值对构成的列表或集合,数组是值构成的列表或集合
2.数组中所有的值应具有相同额数据类型
在数组中使用对象
"two":[
"2",
"2",
{
"num": 2,
"num": 3
},
{
"num": 2,
"num": 3
}
]
3.JSON常用数据类型
字符串
一个字符串值,使用双引号包裹
"one":1,
布尔类型
true或false
"boolSTrue": true,
"boolSFalse": false
数字类型
一个数字值,如42,可以是正整数、负整数、小数或指数
"aNum": 23,
"aNumDouble": 1.2
null类型
"aNoneValue": null
4 JSON字符中需要进行转义的字符
""(双引号)
\ (反斜线)
\/ (反斜线)
\b(退格符)
\f(换行符)
\t(制表符)
\n(换行符)
\r(回车符)
\u(后面跟十六进制字符 如笑脸表情\u263A)
二、在Java中使用JSON
1.添加坐标
在Maven pom.xml文件中导入依赖
<!-- JSON PROCESE-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.41</version>
</dependency>
</dependencies>
2.准备测试数据
String testString = "{one:1,double:1.2}";
3.将字符串转换为JSON格式
JSONObject jsonObject = JSONObject.parseObject(testString);
转换后效果如下:
{"double":1.2,"one":1}
4.通过名称值字符串查询
jsonObject.getString("one")
查找后的结果:
1
5.判断是否包含指定名称
jsonObject.containsKey("one")
显示结果:
true
6.判断是否包含指定值
jsonObject.containsValue(1)
显示效果:
true
7.判断是否为空
jsonObject.isEmpty()
显示效果:
false
8.移除JSONObject对象中的名称:值对指定记录
jsonObject.remove("one")
{"double":1.2}
9.添加键值到JSON
添加单条数据
jsonObject.put("three",3)
添加多条数据-使用Map集合
HashMap hS = new HashMap<String,Integer>();
hS.put("temp","23");
jsonObject.putAll(hS);