目前市场上大多用json,它已经成为了人们的首要选择
json属于轻量数据格式
基本上所有的类型都可以通过json来表示
一个对象, 由一个大括号表示.
括号中 描述对象的属性 . 通过键值对来描述对象的属性
(可以理解为, 大括号中, 包含的是一个个的键值对.)
格式:键与值之间使用冒号连接, 多个键值对之间使用逗号分隔.
键值对的键 应使用引号引住 (通常Java解析时, 键不使用引号会报错. 而JS能正确解析.)
键值对的值, 可以是JS中的任意类型的数据
JSON:
{
“name”:“金苹果”,
“info”:“种苹果”
}
数组的json表示形式
@GetMapping("arrays")
public int[] arraysToJson(){
//定义数组
int[] a={
1,2,3,4,5,6,7,8,9};
return a;
}
在JSON格式中可以与对象互相嵌套
[元素1,元素2…]
{
"name":"唐齐老师",
"age":20,
"pengyou":["圆圆","豆豆","琪琪","花花",{
"name":"莉莉老师", "info":"功能性人才" }],
"heihei":{
"name":"大长刀",
"length":"40m"
}
}
Gson
1.将对象转换为JSON字符串
转换JSON字符串的步骤:
import java.util.HashMap;
import java.util.List;
public class Demo3 {
public static void main(String[] args) {
//1. 创建Gson对象
Gson g = new Gson();
//2. 转换 : {
"id":"100","name":"金苹果","info":"种植苹果真辛苦","page":["锄禾日当午","汗滴禾下土","嘿嘿嘿嘿嘿"]}
HashMap data = g.fromJson("{\"id\":\"100\",\"name\":\"金苹果\",\"info\":\"种植苹果真辛苦\",\"page\":[\"锄禾日当午\",\"汗滴禾下土\",\"嘿嘿嘿嘿嘿\"]}", HashMap.class);
List page = (List) data.get("page");
System.out.println(page.get(1));
}
}
FastJson
1.将对象转换为JSON字符串
转换JSON字符串的步骤:
引入JAR包
.在需要转换JSON字符串的位置编写如下代码即可:
String json=JSON.toJSONString(要转换的对象);
2.将JSON字符串转换为对象
一. 引入JAR包
二. 在需要转换Java对象的位置, 编写如下代码:
类型 对象名=JSON.parseObject(JSON字符串, 类型.class); 或
List<类型> list=JSON.parseArray(JSON字符串,类型.class);
FastJson的例子
import com.alibaba.fastjson.JSON;
public class Demo5 {
public static void main(String[] args) {
//1. 转换 : {
"id":"1002","info":"床前明月光,疑是地上霜。举头望明月,低头思故乡。","name":"唐诗三百首"}
Book book = JSON.parseObject("{\"id\":\"1002\",\"info\":\"床前明月光,疑是地上霜。举头望明月,低头思故乡。\",\"name\":\"唐诗三百首\"}", Book.class);
System.out.println(book.getId());
}
}