目录
一、介绍:
JSON:JavaScript Object Notation JS对象简谱,是一种轻量级的数据交换格式。
二、格式:
一个对象, 由一个大括号表示.
- 括号中描述对象的属性 . 通过键值对来描述对象的属性
- 可以理解为, 大括号中, 包含的是一个个的键值对.
格式:
- 键与值之间使用冒号连接, 多个键值对之间使用逗号分隔.
- 键值对的键应使用引号引住 (通常Java解析时, 键不使用引号会报错. 而JS能正确解析.)
- 键值对的值, 可以是JS中的任意类型的数据。
{
"name":"金苹果","info":"种苹果"
}
三、JSON与Java
- 将Java中的对象快速的转换为 JSON格式的字符串.
- 将JSON格式的字符串, 转换为Java的对象.
(一)Gson
1. 将对象转换成JSON字符串
public class Book {
private String id;
private String name;
private String info;
public Book() {
}
public Book(String id, String name, String info) {
this.id = id;
this.name = name;
this.info = info;
}
@Override
public String toString() {
return "Book{" +
"id='" + id + '\'' +
", name='" + name + '\'' +
", info='" + info + '\'' +
'}';
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Book book = (Book) o;
return Objects.equals(id, book.id) && Objects.equals(name, book.name) && Objects.equals(info, book.info);
}
@Override
public int hashCode() {
return Objects.hash(id, name, info);
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getInfo() {
return info;
}
public void setInfo(String info) {
this.info = info;
}
}
2. 将JSON字符串转换成对象
(二)FastJson
1. 将对象转换成JSON字符串
2. 将JSON字符串转换成对象