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. 转换 : ["一二三","二三四","三四五"] Liststrings = JSON.parseArray("[\"一二三\",\"二三四\",\"三四五\"]", String.class); System.out.println(strings.get(1)); }}
转载地址:https://blog.csdn.net/ZXyuanCSDN/article/details/117714534 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年04月26日 07时48分29秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
phpstudy https
2019-04-29
centos apache 最新版HTTPS配置
2019-04-29
树莓派添加中文语音合成功能
2019-04-29
kangle https设置
2019-04-29
Linux下EasyPanel版本安装及升级
2019-04-29
raspberry pi(树莓派) + easycap d60 视频采集
2019-04-29
WebRTC
2019-04-29
rfc5766-turn-server NAT
2019-04-29
webrtc详细教程
2019-04-29
Android IOS WebRTC 音视频开发总结
2019-04-29
报表图表样式
2019-04-29
Android开发资源收集
2019-04-29
android模板图例
2019-04-29
树莓派网线直连
2019-04-29
复合材料培训(I第七期)
2019-04-29
复合材料生活中的应用
2019-04-29
ABAQUS复合材料(适合小白)
2019-04-29
ABAQUS高级案例解析
2019-04-29
人工智能药物研发
2019-04-29