一:简介:JSON: 全称JavaScript object Notation ,JS对象简谱,是一种轻量级 数据交换格式
二:对象格式:
1.一个对象, 由一个大括号表示。括号中 描述对象的属性通过键值对来描述对象的属性
(可以理解为, 大括号中, 包含的是一个个的键值对.)
2.格式:
键与值之间使用冒号连接, 多个键值对之间使用逗号分隔。
键值对的键 应使用引号引住 (通常Java解析时, 键不使用引号会报错. 而JS能正确解析.)
键值对的值, 可以是JS中的任意类型的数据
示例:
{
"name":"clk",
"age":"20",
"sex":"man"
}
3.在JSON格式中可以与对象相互嵌套:
例子:
{
"name":"clk",
"age":"20",
"subject":["Java","OS","COA",{
"Cname":"高等数学",
"info":"比数学更高等的数学"
}],
"hobby":["看小说","听音乐","学java"]
}
三:Java与JSON:
java中的对象可以快速转换为JSON格式的字符串。
JSON格式的字符串可以转换为java的对象。
1.Gson:
(1)将对象转换为JSON字符串:
步骤:
(i)引入JAR包
(ii)在需要转换JSON字符串的位置编写如下代码:
String json = new Gson().toJSON(需要转换的对象)
例子:
Book b = new Book();
b.setName="金苹果";
b.setInfo="苹果种植很辛苦";
String json = new Gson().toJson(b);
System.out.println(json);
(2)将JSON字符串转换为对象
(i)引入JAR包
(ii)在需要转换java对象的位置,编写如下代码:
//对象 = new Gson().fromJson(JSON字符串,对象类型.class);
例子:
String json = "{\"name\":\"clk\",\"subject\":[\"java\",\"os\",\"coa\"],\"sex\":\"man\"}";
Student stu = new Gson().fromJson(json,Student.class);
System.out.println(book);
2.FastJson
(1)将对象转换为JSON字符串
步骤:
(i)引入JAR包
(ii)在需要转换JSON字符串的位置编写如下代码:
//String json = JSON.toJSONString(需要转换的对象);
例子:
Book book = new Book();
book.setName = "金苹果";
book.setInfo = "苹果种植很辛苦";
String json = JSON.toJSONString(book);
System.out.println(json);
(2)将JSON字符串转换为对象
步骤:
(i)引入JAR包
(ii)在需要转换JSON字符串的位置编写如下代码:
//类型 对象名=JSON.parseObject(JSON字符串, 类型.class);
//List<类型> list=JSON.parseArray(JSON字符串,类型.class);
例子:
List<String> strings = JSON.parseArray("[\"一二三\",\"二三四\",\"三四五\"]",String.class);
System.out.println(strings.get(1));//输出二三四
Book b = new Book("唐诗三百首","1001");
String json = JSON.toJSONString(b);
System.out.println(json);