傻瓜式Gson解析

2024-09-03 02:08
文章标签 解析 gson 傻瓜式

本文主要是介绍傻瓜式Gson解析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

以前用官方自带的Json解析,一层一层剖析,代码简直太多了;现在很多开源框架直接解析成model返回了,使用也很方便。这次结合Andorid Studio提供的插件GsonFormat来完成傻瓜式Json数据解析。

1、下载插件:GsonFormat。File–>Settings–>Plugins搜索GsonFormat,安装之后要重启Andorid Studio,这是安装之后的样子

这里写图片描述

2、在app/build.gradle文件下添加依赖:
compile ‘com.google.code.gson:gson:2.2.4’

3、准备工作就完成了,下面开始解析,先来一波数据,浏览器效果是这样的:
这里写图片描述
这是因为浏览器(谷歌,360都可以)装了一个插件:FeHelper https://www.baidufe.com/fehelper
请求URL时浏览器会自动转换成这种格式

4、对着此数据Ctrl+A,Ctrl+C,然后打开Android Studio 创建一个返回的Model类,如图:

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

5、Model创建好了,下面直接解析就ok啦。

Gson gson = new Gson();
TestBean testBean = gson.fromJson(jsonStr, TestBean.class);

TestBean就是我们想要的实体啦。

6、下面介绍另外一种数据类型如图:
这里写图片描述
同样的老办法,Ctrl+A,Ctrl+C,自动生成Model之后,还是同样的代码,完美解析

Gson gson = new Gson();
TestBean testBean = gson.fromJson(jsonStr, TestBean.class);

7、下面来一种数组类型的:

[
{
"UseIntegral": "50",
"SourceName": "移动商城",
"OrderDate": "2016/5/19 21:54:38",
"StatusName": "待发货"
},
{
"UseIntegral": "40",
"SourceName": "移动商城",
"OrderDate": "2016/5/19 21:50:07",
"StatusName": "交易完成"
}
]

同样的老办法,Ctrl+A,Ctrl+C,自动生成Model之后,因为是数组,所以代码要变化一点了

Gson gsona = new Gson();
List<TestBean> list = gsona.fromJson(jsonStr, new TypeToken<List<TestBean>>() {}.getType());

到此:Gson解析就完成啦。
总结:

1、只看最外面的括号
如果是{}那么就用这种解析:

TestBean testBean = gson.fromJson(jsonStr, TestBean.class);

如果是[]那么久用这种解析:

List<TestBean> list = gsona.fromJson(jsonStr, new TypeToken<List<TestBean>>() {}.getType());

附:当然很多公司肯定有一套规范的Json格式,公共的返回参数自然要定义在BaseResult.java中咯。

这篇关于傻瓜式Gson解析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/1131723

相关文章

Java 关键字transient与注解@Transient的区别用途解析

《Java关键字transient与注解@Transient的区别用途解析》在Java中,transient是一个关键字,用于声明一个字段不会被序列化,这篇文章给大家介绍了Java关键字transi... 在Java中,transient 是一个关键字,用于声明一个字段不会被序列化。当一个对象被序列化时,被

Java JSQLParser解析SQL的使用指南

《JavaJSQLParser解析SQL的使用指南》JSQLParser是一个Java语言的SQL语句解析工具,可以将SQL语句解析成为Java类的层次结构,还支持改写SQL,下面我们就来看看它的具... 目录一、引言二、jsQLParser常见类2.1 Class Diagram2.2 Statement

python进行while遍历的常见错误解析

《python进行while遍历的常见错误解析》在Python中选择合适的遍历方式需要综合考虑可读性、性能和具体需求,本文就来和大家讲解一下python中while遍历常见错误以及所有遍历方法的优缺点... 目录一、超出数组范围问题分析错误复现解决方法关键区别二、continue使用问题分析正确写法关键点三

使用Java实现Navicat密码的加密与解密的代码解析

《使用Java实现Navicat密码的加密与解密的代码解析》:本文主要介绍使用Java实现Navicat密码的加密与解密,通过本文,我们了解了如何利用Java语言实现对Navicat保存的数据库密... 目录一、背景介绍二、环境准备三、代码解析四、核心代码展示五、总结在日常开发过程中,我们有时需要处理各种软

Python多进程、多线程、协程典型示例解析(最新推荐)

《Python多进程、多线程、协程典型示例解析(最新推荐)》:本文主要介绍Python多进程、多线程、协程典型示例解析(最新推荐),本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定... 目录一、multiprocessing(多进程)1. 模块简介2. 案例详解:并行计算平方和3. 实现逻

Spring Boot拦截器Interceptor与过滤器Filter深度解析(区别、实现与实战指南)

《SpringBoot拦截器Interceptor与过滤器Filter深度解析(区别、实现与实战指南)》:本文主要介绍SpringBoot拦截器Interceptor与过滤器Filter深度解析... 目录Spring Boot拦截器(Interceptor)与过滤器(Filter)深度解析:区别、实现与实

MyBatis分页插件PageHelper深度解析与实践指南

《MyBatis分页插件PageHelper深度解析与实践指南》在数据库操作中,分页查询是最常见的需求之一,传统的分页方式通常有两种内存分页和SQL分页,MyBatis作为优秀的ORM框架,本身并未提... 目录1. 为什么需要分页插件?2. PageHelper简介3. PageHelper集成与配置3.

SQL 外键Foreign Key全解析

《SQL外键ForeignKey全解析》外键是数据库表中的一列(或一组列),用于​​建立两个表之间的关联关系​​,外键的值必须匹配另一个表的主键(PrimaryKey)或唯一约束(UniqueCo... 目录1. 什么是外键?​​ ​​​​2. 外键的语法​​​​3. 外键的约束行为​​​​4. 多列外键​

Java进行日期解析与格式化的实现代码

《Java进行日期解析与格式化的实现代码》使用Java搭配ApacheCommonsLang3和Natty库,可以实现灵活高效的日期解析与格式化,本文将通过相关示例为大家讲讲具体的实践操作,需要的可以... 目录一、背景二、依赖介绍1. Apache Commons Lang32. Natty三、核心实现代

使用Python自动化生成PPT并结合LLM生成内容的代码解析

《使用Python自动化生成PPT并结合LLM生成内容的代码解析》PowerPoint是常用的文档工具,但手动设计和排版耗时耗力,本文将展示如何通过Python自动化提取PPT样式并生成新PPT,同时... 目录核心代码解析1. 提取 PPT 样式到 jsON关键步骤:代码片段:2. 应用 JSON 样式到