JSON: JavaScript Object Notation JS对象简谱 , 是一种轻量级的数据交换格式.
一、Json格式
一个对象在java中表现形式:class
class Book{
private String name;
private String info;
get()/set()...
}
public class Main {
public static void main(String[] args){
Book b = new Book();
b.setName(“金苹果”);
b.setInfo(“种苹果”);
}
}
该对象在Json中存储格式:
{
"name":"金苹果",
"info":"种苹果"
}
可以理解为,在Json中: 一个对象,由一个大括号表示,括号中通过键值对来描述对象的属性 。
格式:
键与值之间使用冒号连接,多个键值对之间使用逗号分隔。键值对的键 应使用引号引住 (通常Java解析时, 键不使用引号会报错。而JS能正确解 析。) 键值对的值, 可以是JS中的任意类型的数据 。
数组格式:
在JSON格式中可以与对象互相嵌套: [元素1,元素2…]
二、Json在Java中的运用
Json在Java中能做什么?
1.将Java中的对象 快速的转换为 JSON格式的字符串.
2.将JSON格式的字符串, 转换为Java的对象.
三、Json格式数据解析
两种常用的解析方式:Gson解析(谷歌),FastJson解析(阿里)
1.Gson解析:先引入相应的JAR包(gson-2.8.6.jar,根据版本更新下载)
- 将对象转换为JSON字符串
//1. 获取Gson对象
Gson gson = new Gson();
//2. Gson对象调用.toJson(要转换的对象)方法
String s = gson.toJson(book);
//3. 获取输出流,
FileOutputStream fos = new FileOutputStream(file);
//4. 转换输出流为打印流
PrintStream ps =new PrintStream(fos);
//5. 使用打印流打印字符串S
ps.println(s);
- 将JSON字符串转换为对象
//1. 找到json格式字符串
String s=new String();
//2. 创建Gson对象
Gson gson = new Gson();
//3. Gson对象调用.fromJson(字符串,要转换的对象类型)
Book book = new Gson().fromJson(s, Book.class);
2.FastJson解析:先引入相应的JAR包(fastjson-1.2.70.jar,根据版本更新下载)
- 将对象转换为JSON字符串
//1. 创建一个Book对象
Book b = new Book();
//2. 调用JSON下的静态方法.toJSONString(要转换的对象)
String json=JSON.toJSONString(b);
//3. 打印字符串
System.out.println(json);
- 将JSON字符串转换为对象
//1. 找到json格式字符串
String s = ""
//2. 调用JSON下的静态方法parseObject(JSON字符串, 类型.class)
Book book =JSON.parseObject(s, Book.class);
//3. 或转为数组类型 JSON字符串:
String json = ["1","2","3"];
//4. 调用JSON下的静态方法parseArray(JSON字符串, 类型.class)
List<String> list=JSON.parseArray(json,String.class);