2021-06-08
发布日期:2021-06-29 11:25:26 浏览次数:3 分类:技术文章

本文共 4818 字,大约阅读时间需要 16 分钟。

1.JSON解析教程博客

简介:	JSON: JavaScript Object Notation JS对象简谱 , 是一种轻量级的数据交换格式.

不同对象格式比较:

一本书    书名    简介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:
金苹果
种苹果
JSON: {
"name":"金苹果", "info":"种苹果" }JSON格式: 一个对象, 由一个大括号表示. 括号中 描述对象的属性 . 通过键值对来描述对象的属性 (可以理解为, 大括号中, 包含的是一个个的键值对.) 格式: 键与值之间使用冒号连接, 多个键值对之间使用逗号分隔. 键值对的键 应使用引号引住 (通常Java解析时, 键不使用引号会报错. 而JS能正确解 析.) 键值对的值, 可以是JS中的任意类型的数据

数组格式

在JSON格式中可以与对象互相嵌套[元素1,元素2...]

Java与JSON关联

做什么?    1.将Java中的对象 快速的转换为 JSON格式的字符串.    2.将JSON格式的字符串, 转换为Java的对象.

2.Gson(谷歌)

2.1将对象转换为JSON字符串

转换JSON字符串的步骤:    1. 引入JAR包    2. 在需要转换JSON字符串的位置编写如下代码即可:		String json = new Gson().toJSON(要转换的对象);案例:        Book b = BookDao.find();        String json = new Gson().toJson(b);        System.out.println(json);

演示代码:

package classRoom2;import com.google.gson.Gson;/** * 将对象转换为JSON字符串(Gson格式) */public class demo1 {
public static void main(String[] args) {
/* //1. 创建Gson对象 Gson g = new Gson(); //2. 转换 Book b = new Book("100","金苹果","种植苹果真幸苦"); String s = g.toJson(b); //转换成字符串 System.out.println(s); //打印 */ //1. 创建Gson对象 //2. 转换 Book b = new Book("100","金苹果","种植苹果真幸苦");//对象只使用一次,可以将其转换为匿名对象 String s = new Gson().toJson(b); System.out.println(s); }}

2.2将JSON字符串转换为对象

1. 引入JAR包    2. 在需要转换Java对象的位置, 编写如下代码:    		对象 = new Gson().fromJson(JSON字符串,对象类型.class);案例:    String json = "{
\"id\":1,\"name\":\"金苹果\",\"author\":\"李伟杰 \",\"info\":\"嘿嘿嘿嘿嘿嘿\",\"price\":198.0}"; Book book = new Gson().fromJson(json, Book.class); System.out.println(book);

演示代码:

package classRoom2;/** * 将JSON字符串转换为对象(Gson格式) */import com.google.gson.Gson;public class demo2 {
public static void main(String[] args) {
//1. 创建Gson对象 Gson g = new Gson(); //2. 转换 : {"id":"100","name":"金苹果","info":"种植苹果真幸苦"} Book b = g.fromJson("{\"id\":\"100\",\"name\":\"金苹果\",\"info\":\"种植苹果真幸苦\"}",Book.class);// \的作用是转义双引号。 System.out.println(b.getId()); //打印 }}

2.3解析Json

package classRoom2;import com.google.gson.Gson;import java.util.HashMap;import java.util.List;public class demo3 {
/** * 解析Json * @param args */ public static void main(String[] args) {
//1. 创建Gson对象 Gson g = new Gson(); //2. 转换 : {"id":"100","name":"金苹果","info":"种植苹果真幸苦","page":["锄禾日当午","汗滴禾下土","嘿嘿嘿"]} HashMap data = g.fromJson(" {\"id\":\"100\",\"name\":\"金苹果\",\"info\":\"种植苹果真幸苦\",\"page\":[\"锄禾日当午\",\"汗滴禾下土\",\"嘿嘿嘿\"]}", HashMap.class); //转换成HashMap类型 List page = (List) data.get("page");//强转List类型 System.out.println(page.get(1)); // System.out.println(data.get("page").getClass());//获取类型 }}

3.FastJson(阿里)

3.1将对象转换为JSON字符串

转换JSON字符串的步骤:    1. 引入JAR包    2. 在需要转换JSON字符串的位置编写如下代码即可:    	String json=JSON.toJSONString(要转换的对象);案例:    Book b = BookDao.find();    String json=JSON.toJSONString(b);    System.out.println(json);

代码演示:

package classRoom2;import com.alibaba.fastjson.JSON;public class demo4 {
/** * 将对象转换为FastJson字符串(FastJson格式) */ public static void main(String[] args) {
Book book = new Book("1002","唐诗三百首","床前明月光,地上鞋一堆。床上我杰哥,含十块钱一双"); //1. 转换 String json = JSON.toJSONString(book); System.out.println(json); }}

3.2将JSON字符串转换为对象

1. 引入JAR包    2. 在需要转换Java对象的位置, 编写如下代码:    	类型 对象名=JSON.parseObject(JSON字符串, 类型.class);    	或    	List
<类型>
list=JSON.parseArray(JSON字符串,类型.class); 案例: String json = "{
\"id\":1,\"name\":\"金苹果\",\"author\":\"李伟杰 \",\"info\":\"嘿嘿嘿嘿嘿嘿\",\"price\":198.0}"; Book book = JSON.parseObject(json, Book.class); System.out.println(book);
package classRoom2;import com.alibaba.fastjson.JSON;public class demo5 {
/** * 将FastJson字符串转换为对象(FastJson格式) */ public static void main(String[] args) {
//1. 转换 : {"id":"1002","info":"床前明月光,地上鞋一堆。床上我杰哥,含十块钱一双","name":"唐诗三百首"} Book book = JSON.parseObject("{\"id\":\"1002\",\"info\":\"床前明月光,地上鞋一堆。床上我杰哥,含十块钱一双\",\"name\":\"唐诗三百首\"}", Book.class); System.out.println(book.getId()); }}

3.3转换数组

package classRoom2;import com.alibaba.fastjson.JSON;import java.util.List;public class demo6 {
/** * 转换数组 * @param args */ public static void main(String[] args) {
//1. 转换 : ["一二三","二三四","三四五"] List
strings = JSON.parseArray("[\"一二三\",\"二三四\",\"三四五\"]", String.class); System.out.println(strings.get(1)); }}

转载地址:https://blog.csdn.net/ZXyuanCSDN/article/details/117714534 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:网络编程之UDP通信
下一篇:finally只用一种情况不会操作:电脑断电或者程序被关闭

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年04月26日 07时48分29秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章