一、JSON
简介:JSON(JavaScript Object Notation) JS对象简谱 , 是一种轻量级的数据交换格式。
1.对象格式
同样是描述一个对象
1 一本书 2 书名 金苹果 3 简介 种苹果
java:
1 class book{ 2 private String name; 3 private String info; 4 get/set... 5 } 6 Book b = new Book(); 7 b.setName("金苹果"); 8 b.setInfo("种苹果"); 9 ...
js:
1 var b = new Object(); 2 b.name = "金苹果"; 3 b.info = "种苹果";
XML:
1 <book> 2 <name>金苹果</name> 3 <info>种苹果</info> 4 </book>
JSON:
1 { 2 "name":"金苹果", 3 "info":"种苹果" 4 }
JSON对象格式:
一个对象,由一个大括号表示。
括号中通过键值对来描述对象的属性(可以理解为,大括号中,包含的是一个个的键值对)
格式:
键与值之间使用冒号连接,多个键值对之间使用逗号分隔。
键值对的键应使用引号引住 (通常Java解析时,键不使用引号会报错。而JS能正确解析)
键值对的值, 可以是JS中的任意类型的数据
数组格式
在JSON格式中可以与对象互相嵌套
1 [元素1,元素2,元素3...]
2.对象格式举例
1 { 2 "name":"小李", 3 "age":18, 4 "pengyou":["张三","李四","王二","麻子",{ 5 "name":"野马老师", 6 "info":"像匹野马一样狂奔在技术钻研的道路上" 7 }], 8 "heihei":{ 9 "name":"大长刀", 10 "length":"40m" 11 } 12 }
二、Java与JSON
做什么?
将Java中的对象快速的转换为JSON格式的字符串。
将JSON格式的字符串转换为Java的对象。
1.Gson
- 将对象转换为JSON字符串
转换JSON字符串的步骤:
1. 引入JAR包(点击下载)
2. 在需要转换JSON字符串的位置编写如下代码即可:
1 String json = new Gson().toJSON(要转换的对象);
案例
1 Book b = BookDao.find(); 2 String json = new Gson().toJson(b); 3 System.out.println(json);
- 将JSON字符串转换为对象
1. 引入JAR包
2. 在需要转换Java对象的位置, 编写如下代码:
1 对象 = new Gson().fromJson(JSON字符串,对象类型.class);
案例:
1 String json = "{"id":1,"name":"金苹果","author":"张三 ","info":"嘿嘿嘿嘿嘿嘿","price":198.0}"; 2 Book book = new Gson().fromJson(json, Book.class); 3 System.out.println(book);
2.FastJson
- 将对象转换为JSON字符串
转换JSON字符串的步骤:
1. 引入JAR包
2. 在需要转换Java对象的位置, 编写如下代码:
1 String json=JSON.toJSONString(要转换的对象);
案例:
1 Book b = BookDao.find(); 2 String json=JSON.toJSONString(b); 3 System.out.println(json);
- 将JSON字符串转换为对象
1. 引入JAR包
2. 在需要转换Java对象的位置, 编写如下代码:
1 类型 对象名=JSON.parseObject(JSON字符串, 类型.class);
或者
1 List<类型> list=JSON.parseArray(JSON字符串,类型.class);
案例:
1 String json = "{"id":1,"name":"金苹果","author":"张三 ","info":"嘿嘿嘿嘿嘿嘿","price":198.0}"; 2 Book book = JSON.parseObject(json, Book.class); 3 System.out.println(book);