1、什么是JSON

(1)JSON(Java Script Object Notation)是一种轻量级的数据交换语言,以文本字符串为基础,且易于让人阅读。(注意:XML就是一个重量级的数据交换语言)

(2)和xml相比,它更小巧但描述能力却不差,由于它的小巧所以网络传输数据将减少更多流量从而加快速度,

(3)JSON采用完全独立于任何程序语言的文本格式,使JSON成为理想的数据交换语言

(4)JSON就是一串字符串 只不过元素会使用特定的符号标注。

2、JSON语法

(1){} 双括号表示对象

(2)[] 中括号表示数组

(3)"" 双引号内是属性或值

(4): 冒号表示后者是前者的值(这个值可以是字符串、数字、也可以是另一个数组或对象)

(5),逗号用来分隔属性或者对象

3、将一个对象构建成json数据

对象:属性:name=张三,sex=男,age= 20,score=78

(1)一个对象的json表示:

{“name”:”张三”,”sex”:”男”,”age”:20,”score”:78}

Student stu1 = new Student("张三", "男", 19, 78.5);

String js = JSON.toJSONString(stu1);

System.out.println(js);

结果:

(2)两个对象用一个数组表示,json表示为:

[{“name”:”张三”,”sex”:”男”,”age”:20,”score”:78},{“name”:”张三”,”sex”:”男”,”age”:20,”score”:78}]

Student stu1 = new Student("张三", "男", 19, 78.5);

Student stu2 = new Student("李四", "女", 21, 89);

Student[] stus = {stu1, stu2};

String js = JSON.toJSONString(stus);

System.out.println(js);

结果:

4、将JSON字符串解析成java对象

(1)json字符串装换成单个对象

String js = "{\"age\":19,\"name\":\"张三\",\"score\":78.5,\"sex\":\"男\"}";

Student stu = JSON.parseObject(js, Student.class);

System.out.println(stu);

注意:字符串里的双引号要用转义符"\"转义。

结果:

(2)json字符串转换为list集合

String js = "[{\"age\":19,\"name\":\"张三\",\"score\":78.5,\"sex\":\"男\"},{\"age\":21,\"name\":\"李四\",\"score\":89,\"sex\":\"女\"}]";

List list = JSON.parseArray(js, Student.class);

list.forEach(e -> System.out.println(e));

结果:

(3)json字符串转换为JSONArray集合

String js = "[{\"age\":19,\"name\":\"张三\",\"score\":78.5,\"sex\":\"男\"},{\"age\":21,\"name\":\"李四\",\"score\":89,\"sex\":\"女\"}]";

JSONArray parseArray = JSON.parseArray(js);

for(int i = 0; i < parseArray.size(); i++) {

JSONObject jsObj = parseArray.getJSONObject(i);

String name = jsObj.getString("name");

System.out.println(name);

}

结果:

推荐内容