简介:
JavaScript Object Notation JS对象简谱。是一种轻量级的数据交换格式
对象格式
一个对象,由一个大括号表示.
括号中描述对象的属性与函数.通过键 值对来描述对象的属性与函数
(可以理解为,大括号中,包含的是-个个的键值对.)
格式:
键与值之间使用冒号连接,多个键值对之间使用逗号分隔。
键值对的键应使用引号引住(通常Java解析时, 键不使用引号会报错.而JS能正确解析.)
键值对的值,可以是JS中的任意类型的数据
数组格式
在JSON格式中可以与对象相互嵌套
[元素1,元素2...]
例子:
{ “name”:"金苹果", "info":"种苹果", "chapter":["chapter1","chapter2","chapter3"], "author":{ "name":"Tom Grey", "age":35 } }
这里推荐一个json解析工具,可以将json数据格式并视图化:
https://www.sojson.com/json/json_online.html
Java与JSON
做什么?
将Java中的对象快速的转换为JSON格式的字符串.
将JSON格式的字符串,转换为Java的对象.
Gson(谷歌的JSON包)
- 将对象转换为JSON字符串
转换JSON字符串的步骤:
- 引入JAR包
- 在需 要转换JSON字符串的位置编写如下代码即可:
String json = new Gson().toJSON (要转换的对象) ;
例子:
Book b = BookDao.findO) ; String json = new Gson().toJson(b); System.out.println(json);
- 将JSON字符串转换为对象
- 引入JAR包
- 在需 要转换Java对象的位置,编写如下代码:
对象= new Gson(). fromJson(JSON字符串,对象类型. class);
例子:
String json = "{"id":1,"name":" 金苹果"," author":"TOM" ,"info":"种植金苹果的故事","price" :198.0}";
Book book = new Gson().fromJson(json.Book.class);
System.out.println(book);
FastJson(阿里JSON包)
- 将对象转换为JSON字符串
转换JSON字符串的步骤:
- 引入JAR包
- 在需 要转换JSON字符串的位置编写如下代码即可:
String json= JSON.toJSONString (要转换的对象);
1 Book b = BookDao.find() ;
2 String json=JSON.toJSONString(b);
3 System.out.println(json);
- 将JSON字符串转换为对象
- 引入JAR包
- 在需要转换Java对象的位 置,编写如下代码:
类型对象名=JSON.parse0bject (JSON字符串,类型.class);
或
List. <类型> list=JSON. parseArray(JSON字符串,类型.class);
案例:
String json = "{"id":1,"name":" 金苹果"," author":"TOM","info": "种苹果" ,"price":198.0}"; Book book = JSON. parseObject(json,Book.class); System.out. println(book);