JSON
基础
简介
JSON: JavaScript Object Notation JS对象简谱 , 是一种轻量级的数据交换格式.。
对象格式
一个对象, 由一个大括号表示. 括号中描述对象的属性 . 通过键值对来描述对象的属性 (可以理解为, 大括号中, 包含的是一个个的键值对.) 格式:键与值之间使用冒号连接, 多个键值对之间使用逗号分隔. 键值对的键 应使用引号引住 (通常Java解析时, 键不使用引号会报错. 而JS能正确解 析.) 键值对的值, 可以是JS中的任意类型的数据。
在JSON格式中可以与对象互相嵌套 [元素1,元素2…]
解析
JSON解析有两种方式:1、Gson;2、FastJson。
Gson
1、将对象转换为JSON字符串:
- 引入JAR包。
- 需要转换JSON字符串代码: String json = new Gson().toJSON(要转换的对象)。
案例:
Book book = BookDao.find();
String json = new Gson().toJson(book);
System.out.println(json);
2、将JSON字符串转换为对象:
- 引入JAR包。
- 需要转换Java对象代码: 对象 = new Gson().fromJson(JSON字符串,对象类型.class);。
案例:
String json = " {"id":"100","name":"金苹果","info":"苹果种植"}";
Book book = new Gson().fromJson(json, Book.class);
System.out.println(book);
FastJson
1、将对象转换为JSON字符串:
- 引入JAR包。
- 需要转换JSON字符串代码: String json=JSON.toJSONString(要转换的对象)。
案例:
Book book = new Book("1002", "唐诗三百首", "三百首唐诗");
String s = JSON.toJSONString(book);
System.out.println(s);
2、将JSON字符串转换为对象:
- 引入JAR包。
- 需要转换Java对象代码: 类型 对象名=JSON.parseObject(JSON字符串, 类型.class); 或 List<类型> list=JSON.parseArray(JSON字符串,类型.class);。
案例:
Book book = JSON.parseObject("{\"id\":\"1002\",\"name\":\"唐诗三百首\",\"info\":\"三百首唐诗\"}", Book.class);
System.out.println(book.getId();