目录
JSON
1.简介
JSON全称为JavaScript Object Notation,即JS对象表示法,是一种 轻量级的文本数据交换格式。JSON数据格式是的应用程序可以通过RESTful API(REST 指的是一组架构约束条件和原则,满足这些约束条件和原则的应用程序或设计就是 RESTful)等方式再网络上进行数据通信。JSON不局限于某项技术,本身非私有,且具有可移植性。所有现代编程语言都可产生(序列化)和读取(反序列化)JSON数据。
2.结构与格式
JSON由对象({...})、数组([...])、名称-值("属性名":属性值,"属性名":属性值,...)对这三种结构体系组成。
JSON中的格式要求:一个对象, 由一个大括号表示({...}==对象);大括号中描述对象的属性,通过键值对来描述对象的属性("属性名":属性值,"属性名":属性值,...)。可以将 属性-属性值 看成键值对,键与值之间使用冒号连接, 多个键值对之间使用逗号分隔,键值对的键应使用引号引住 (通常Java解析时, 键不使用引号会报错,而JS能正确解析。) ,键值对的值, 可以是JS中的任意类型的数据。
3.实例
以一本书为对象,书名、简介为属性做例子,格式如下:
java: class Book{ private String name; private String info; get/set... } Book b = new Book(); b.setName(“金苹果”); b.setInfo(“种苹果”); ...
js: var b = new Object(); b.name = "金苹果"; b.info = "种苹果";
XML: <book> <name>金苹果</name> <info>种苹果</info> </book>
JSON: { "name":"金苹果", "info":"种苹果" }
在Java中使用JSON
1.在Java中用产生JSON数据
使用GSON,将对象转换为JSON字符串步骤:
1) 引入 JAR 包2) 在需要转换 JSON 字符串的位置编写该代码 :String json = new Gson().toJSON(要转换的对象);
案例:
Book b = BookDao.find(); String json = new Gson().toJson(b); System.out.println(json);
使用FastJson,将对象转换为JSON字符串步骤:
1) 引入 JAR 包2) 在需要转换 JSON 字符串的位置编写如下代码即可 :String json=JSON.toJSONString(要转换的对象);
案例:
Book b = BookDao.find(); String json=JSON.toJSONString(b); System.out.println(json);
2.JSON数据在Java中转化为对象
使用GSON,将JSON字符串转换为对象:
1) 引入 JAR 包2) 在需要转换为java对象 的位置编写该代码 :对象 = new Gson().fromJson(JSON字符串,对象类型.class);
案例:
String json = "{\"id\":1,\"name\":\"金苹果\",\"author\":\"yue \",\"info\":\"信息内容\",\"price\":198.0}"; Book book = new Gson().fromJson(json, Book.class); System.out.println(book);
使用FastJson,将对象转换为JSON字符串步骤:
1) 引入 JAR 包2) 在需要转换为java对象 的位置编写如下代码即可 :类型 对象名=JSON.parseObject(JSON字符串, 类型.class); 或 List<类型> list=JSON.parseArray(JSON字符串,类型.class);
案例:
String json = "{\"id\":1,\"name\":\"金苹果\",\"author\":\"yue \",\"info\":\"信息内容\",\"price\":198.0}"; Book book = JSON.parseObject(json, Book.class); System.out.println(book);