Java之JSON解析
JSON简介
JSON:JavaScript Object Notation JS对象简谱,是一种轻量级的数据交换格式
JSON对象格式
{"name":"Claire","age":"18","sex":"female"}
一个大括号表示一个对象
括号中为描述对象的属性,以键值对的方式来描述(即大括号中是一个个的键值对)
格式:
键与值用冒号连接,一个个键值对用逗号连接
键和值都使用引号引住
键值对的值,可以是JS中的任意类型的数据
JSON中数组格式为:[元素1,元素2...]
案例:
{
"name":"伟杰老师",
"age":18,
"pengyou":["张三","李四","王二","麻子",{
"name":"野马老师",
"info":"像匹野马一样狂奔在技术钻研的道路上"
}],
"heihei":{
"name":"大长刀",
"length":"40m"
}
}
Java解析JSON
将Java中的对象,快速的转换为JSON格式的字符串
将JSON格式的字符串,转换为Java对象
两种方式:
1)通过Gson
2)通过FastJSON
Gson
-
将java对象转换为JSON字符串
1. 引入JAR包 2. 在需要转换JSON字符串的位置编写如下代码即可 String json = new Gson().toJSON(要转换的对象); 案例: Book b = new Book("100","苹果","种植苹果真辛苦"); String s = new Gson().toJson(b); System.out.println(s);
-
将JSON字符串转换为java对象
1. 引入JAR包 2. 在需要转换Java对象的位置,编写如下代码 对象 = new Gson().fromJson(JSON字符串,对象类型.class); 案例: HashMap data = new Gson().fromJson("{\"id\":\"100\",\"name\":\"苹果\",\"info\":\"种植苹果真辛苦\",\"page\":[\"锄禾日当午\",\"汗滴禾下土\",\"嘿嘿嘿\"]}",HashMap.class); List page = (List) data.get("page"); System.out.println(page.get(0));
FastJSON
-
将java对象转换为JSON字符串
1. 引入JAR包 2. 在需要转换JSON字符串的位置编写如下代码即可: String json = JSON.toJSONString(要转换的对象); 案例: Book book = new Book("1002","唐诗三百首","床前明月光"); //1. 转换 String json = JSON.toJSONString(book); System.out.println(json);
-
将JSON字符串转换为java对象
1. 引入JAR包 2. 在需要转换Java对象的位置,编写如下代码: 类型 对象名 = JSON.ParseObject(JSON字符串,类型.class); 或 List<类型> list = JSON.parseArray(JSON字符串,类型.class); 案例: Book book = JSON.parseObject("{\"id\":\"1002\",\"info\":\"床前明月光\",\"name\":\"唐诗三百首\"}",Book.class); System.out.println(book.getId()); 或 List<String> strings = JSON.parseArray("[\"一二三\",\"二三\",\"三\"]", String.class); System.out.println(strings.get(1));
内容来源:开课吧Java培训