JSON笔记
JSON: JavaScript Object Notation JS对象简谱 , 是一种轻量级的数据交换格式。
格式
- 对象格式:一个大括号代表一个对象,通过键值对描述属性,键跟值之间使用冒号连接,多个键值对使用逗号分隔。Java中键应使用双引号引注,值可以为任意类型的数据。
eg: {“id”:“100”,“name”:“金苹果”,“info”:“种植苹果真辛苦”} - 数组格式:在JSON格式中可以与对象互相嵌套
[元素1,元素2…]
eg:[“123”,“456”,“789”]
Gson与FastJson
使用需导入jar包
- Gson
//1.创建Gson对象
Gson g = new Gson();
//2.对象转Gson
Book book= new Book("Java","1001","从入门到放弃");
String s = g.toJson(book);
System.out.println(s);
//3.Gson字符串转换,"需要转义
Book b = g.fromJson("{\"name\":\"Java\",\"id\":\"1001\",\"info\":\"从入门到放弃\"}",Book.class);
System.out.println(b.getId());
//4.转换成Map
HashMap data = g.fromJson("{\"name\":\"Java\",\"id\":\"1001\",\"info\":\"从入门到放弃\",\"page\":[\"锄禾日当午\",\"汗滴禾下土\",\"谁知盘中餐\"]}", HashMap.class);
//5.数组转换成ArrayList class java.util.ArrayList
System.out.println(data.get("page").getClass());
List page = (List) data.get("page");
System.out.println(page.get(1));
- FastJson
Book book= new Book("Java","1001","从入门到放弃");
//转换成JSON
String json = JSON.toJSONString(book);
System.out.println(json);
//JSON转换成特定类型
Book book1 = JSON.parseObject("{\"name\":\"Java\",\"id\":\"1001\",\"info\":\"从入门到放弃\"}",Book.class);
System.out.println(book1.getId());
//转换数组
List<String> strings = JSON.parseArray("[\"123\",\"456\",\"789\"]", String.class);
System.out.println(strings.get(1));