网站首页 > java教程 正文
本期干活分享腾讯课堂coding学院大咖丁骥为大家进行,快快学习起来了!
一、原始的JSON解析方式
构造JSON对象 -> 判断JSON对象是否包含某个元素 -> 获取JSON对象里面的元素。
元素很多的话,解析代码会写的很累。且不同内容的JSON对象要一一编写解析代码。
二、进阶的JSON解析方式
使用第三方JSON库进行解析,如Gson、Jackson、FastJson等。
以Gson为例,简单介绍一下其解析方法:
1、先定义JSON数据对应的Entity类。
2、 解析JSON数据。
相比于原始的解析方式,方便了些,但还需要程序员自己实现Entity类,且无法解析复杂的JSON体,如包含JSONArray和JSONObject的JSON体。
三、懒人的JSON解析方式
1、 JSON数据对应的Entity类,一行代码直接生成。
jsonStr的内容:
生成的.java文件如下:
2. JSON数据的解析,一行代码直接完成解析。
验证代码:
运行后打印:解析OK!
相比于Gson,懒人的JSON解析方式不需要程序员自己编写entity类,且支持复杂的JSON体解析,另外通用的解析方式,支持不同内容的JSON体的解析。
四、懒人的JSON解析方式的实现:
1、JSON数据对应的Entity类的自动生成:
深度遍历,每一个JSONObject生成一个类,使用FreeMaker生成.Java文件。
JSONObject对应Entity类的生成规则:
基础数据类型对应基础FiledType,JSONObject对应一个类,JSONArray对应Object[]。
JSONArray里面的JSONObject对应Entity类的生成规则:
JSONArray里面的JSONArray里面的JSONObject的Entity类生成规则:
2、JSON数据的自动解析:
通过反射的方式获取Entity类的fields,然后深度遍历赋值。
只要去做,
总有可能。
先转发,关注“腾讯课堂coding学院”
就是对我们最好的支持!
温馨提醒:
1、微信端搜索课程
在“腾讯课堂”官方微信里,回复你想学习的内容,即可快速找到你期待的课程哦!
2、学习方式
【电脑端】
*可通过登录ke.qq.com进入学习;
*可通过windows PC版QQ客户端面板上的课堂入口进入学习。
【移动端】
*下载APP “腾讯课堂” 即可进入学习;
*关注微信公众号或者手Q公众号“腾讯课堂”,进入学习。
(注:微信和QQ的课程报名信息独立,登录时请选择对应的登录方式)
猜你喜欢
- 2024-10-28 JavaScript获取json中key所对应的value值的简单方法
- 2024-10-28 为什么JSON.parse会损坏大数字,如何解决这个问题?
- 2024-10-28 深入浅出Json-Schema-Validation(深入浅出stm)
- 2024-10-28 这几个JSON 工具,你是不是错过了
- 2024-10-28 深入解析 JSONPath:从入门到精通(jsonpath解析json)
- 2024-10-28 《Servlet》第18节:HttpServletResponse响应JSON和HTML内容
- 2024-10-28 netty系列之:netty中的核心解码器json
- 2024-10-28 Android JSON(android json to room)
- 2024-10-28 JAVA实现生成多层JSON格式数据(含源码——三层样例)
- 2024-10-28 一个SQLServer中JSON文档型数据的查询问题
你 发表评论:
欢迎- 07-15采用Oracle OSB总线进行服务注册和接入
- 07-15javaEE 新闻管理系统 oracle11+tomcat6
- 07-15从Oracle演进看数据库技术的发展(oracle数据库发展史)
- 07-15如何升级oracle数据库安全补丁(oraclepsu补丁升级)
- 07-15【权威发布】关于Oracle WebLogic Server未授权远程代码执行高危漏洞的预警通报
- 07-15【mykit-data】 数据库同步工具(数据库表同步工具)
- 07-15[Java速成] 数据库基础,Connector/J、JDBC、JPA的关系(day 7)
- 07-15Google前工程主管“入住”Oracle(google浏览器找不到以前的书签)
- 最近发表
-
- 采用Oracle OSB总线进行服务注册和接入
- javaEE 新闻管理系统 oracle11+tomcat6
- 从Oracle演进看数据库技术的发展(oracle数据库发展史)
- 如何升级oracle数据库安全补丁(oraclepsu补丁升级)
- 【权威发布】关于Oracle WebLogic Server未授权远程代码执行高危漏洞的预警通报
- 【mykit-data】 数据库同步工具(数据库表同步工具)
- [Java速成] 数据库基础,Connector/J、JDBC、JPA的关系(day 7)
- Google前工程主管“入住”Oracle(google浏览器找不到以前的书签)
- Oracle数据库云服务系列新增前所未有的企业级功能
- 直播预告丨如何实现Oracle存储过程到java的一键转化
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)