利用android studio gsonformat插件快速解析复杂json
在android开发过程中,难免会遇到json解析,在这篇文章中为你快速解析复杂的json。
首先,在android studio中安装gsonformat插件。
点击File->Settings->Plugins

安装后重启android studio
接下来,新建工程,导入gson。
File->Project Structure->

点击“+”,->Library dependency
选择GSON
解析来就是解析json了。
网上json例子:
{"payCnt":3, "payInfo":[ {"payInfoMain":{"ordNum":"201206010000001","transSite":"","transBankNo":"TEPB","bankAcctNo":"010","totAmt":"30","billChkCode":"3316","tollDeptNo":"NDZSXH000","busType":"FJFS","other1":"remark1","other2":"remark2","bankName":"模拟银行2","transSeq":"20120601000000001","tranType":"","siteCode":"200001","eBillVerNo":"000001","tollDeptName":"宁德市会计专业技术考试领导小组","itemCnt":1,"tranUser":"","payer":"宁德","eBillNo":"201206010000000136","transBankName":"模拟银行2","transAcctNo":"010","siteName":"国家司法考试网","ordDate":"20120601"}, "eBillNo":"201206010000000136", "payInfoItem":[{"amt":"30","chrgStd":"1","cnt":"1","chrgName":"初级网络工程师报名费","msrUint":"元/科","chrgCode":"KA460001"}]}, {"payInfoMain":{"ordNum":"201206010000001","transSite":"","transBankNo":"TEPB","bankAcctNo":"010","totAmt":"10","billChkCode":"2258","tollDeptNo":"777516727","busType":"FJFS","other1":"remark1","other2":"remark2","bankName":"模拟银行2","transSeq":"20120601000000001","tranType":"","siteCode":"200001","eBillVerNo":"000001","tollDeptName":"福建省省会计管理处","itemCnt":1,"tranUser":"","payer":"缴款人","eBillNo":"201206010000000134","transBankName":"模拟银行2","transAcctNo":"010","siteName":"国家司法考试网","ordDate":"20120601"}, "eBillNo":"201206010000000134", "payInfoItem":[{"amt":"10","chrgStd":"1","cnt":"1","chrgName":"交通罚没","msrUint":"元/科","chrgCode":"460"}]}, {"payInfoMain":{"ordNum":"201206010000001","transSite":"","transBankNo":"TEPB","bankAcctNo":"010","totAmt":"20","billChkCode":"0198","tollDeptNo":"003604520","busType":"FJFS","other1":"remark1","other2":"remark2","bankName":"模拟银行2","transSeq":"20120601000000001","tranType":"","siteCode":"200001","eBillVerNo":"000001","tollDeptName":"福州市财政局会计管理处","itemCnt":1,"tranUser":"","payer":"福州","eBillNo":"201206010000000135","transBankName":"模拟银行2","transAcctNo":"010","siteName":"国家司法考试网","ordDate":"20120601"}, "eBillNo":"201206010000000135", "payInfoItem":[{"amt":"20","chrgStd":"1","cnt":"1","chrgName":"会计从业资格证考务费","msrUint":"元/科","chrgCode":"BA460"}]}]}
新建一个Bean,右键Gerenate->GsonFormat,将json串复制进去



注意:如果需要新建内部类的话需要与字段名称相同


创建完Bean类后,就可以使用gson来解析了。
在MainActivity中调用
Gson mGson=new Gson();
Bean bean=mGson.fromJson(json,Bean.class);
Log.i("Debug",bean.getPayInfo().get(0).getPayInfoItem().get(0).getChrgName());
看看解析的结果吧

是不是很方便呢
利用android studio gsonformat插件快速解析复杂json的更多相关文章
- Android开发实战(十八):Android Studio 优秀插件:GsonFormat
Android Studio 优秀插件系列: Android Studio 优秀插件(一):GsonFormat Android Studio 优秀插件(二): Parcelable Code Gen ...
- Android项目实战(十九):Android Studio 优秀插件: Parcelable Code Generator
Android Studio 优秀插件系列: Android Studio 优秀插件(一):GsonFormat Android Studio 优秀插件(二): Parcelable Code Gen ...
- 利用Android Studio、MAT对Android进行内存泄漏检测
利用Android Studio.MAT对Android进行内存泄漏检测 Android开发中难免会遇到各种内存泄漏,如果不及时发现处理,会导致出现内存越用越大,可能会因为内存泄漏导致出现各种奇怪的c ...
- [Android Studio]SQLScout插件安装破解
以下内容为原创,欢迎转载,转载请注明 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/5972138.html [Android Studio]SQLS ...
- Android Studio 工具插件
1.Android Studio 翻译插件,可以将英文翻译为中文. https://github.com/Skykai521/ECTranslation 2.Android Studio之Androi ...
- Android Studio常用插件续
这个月因为各种事情在忙,包括赶项目,回老家,还有准备旅游的事,所以应该写不了四篇博客了.今天介绍一下关于Android Studio 的几个好用的插件,都是我在用的,它们或能帮你节省时间,或者让你心情 ...
- Android Studio安装插件Genymotion
Android Studio安装插件的方式其实和Eclipse大同小异.废话不多说,直接上图: 区域1:你当前已经安装了的插件 区域2:在线安装 区域3:从硬盘安装,即针对你已经下载好了的插件,可通过 ...
- 利用Android Studio编写 Android上的c与c++程序
利用Android Studio编写 Android上的c与c++程序 (2017-05-22 19:01:20) 转载▼ 标签: android 分类: Android开发 原文链接: http:/ ...
- Android Studio加入插件(Genymotion)
官方模拟器的龟速已让我们无力吐槽.幸好有genymotion这款逆天的Android虚拟机,它有着高速的开启速度,良好的交互界面. 是Android开发必备的良品.甚至有些玩家已经用genymotio ...
随机推荐
- ubuntu下安装JDK详解
码农博客 即将到期,现将博客中部分文章转载到博客园.本文发表与2012年,转载时略有删减 安装JDK其实只要搞定两个问题,安装目录以及配置文件.如果你只想要快速安装JDK,请略过此部分直接看安装篇. ...
- RequestHander类介绍
RequestHander是一个抽象类,是一个线程.它封装了一个Socket.代码不难: package org.simpleHTTPServer; import java.io.IOExceptio ...
- 如何使用Paste.Deploy
转自:http://bingotree.cn/?p=100 1.Paste Deploy的一个组件,但是并不依赖于Paste的其它组件.其可以看成是一个独立的包.其主要用于通过一个配置文件完成WSGI ...
- leetcode Pow(doubule x,int n)
今天第一天开通博客,心情还是小激动的 上代码: 方法一:常规递归,x的n次方={xn/2*xn/2 //n为偶 xn/2*xn/2 *x //n为奇数 } ...
- Idiomatic Python手记一: average in FP way
方法一: import operator def average(*args): return reduce(operator.add, args) / len(args) if args else ...
- js学习记录
1.js语法 2.数据类型(基本类型与对象类型.类型的转换) 2.1 数字 2.2 文本 2.3 布尔值 2.4 null和undefined 2.5 对象 2.6 类型检测 3.操作符和表达式 4. ...
- mapreduce学习指导及疑难解惑汇总
原文链接http://www.aboutyun.com/thread-7091-1-1.html 1.思想起源: 我们在学习mapreduce,首先我们从思想上来认识.其实任何的奇思妙想,抽象的,好的 ...
- Android实例-程序界面内截取屏幕(XE8+小米2)
结果: 1.只能截取程序界面内的图片. 2.图片有点不清楚,自己设置清楚度. 实例代码: unit Unit1; interface uses System.SysUtils, System.Type ...
- hdu 4612 (双联通+树形DP)
加一条边后最少还有多少个桥,先Tarjan双联通缩点, 然后建树,求出树的直径,在直径起点终点加一条边去的桥最多, #pragma comment(linker, "/STACK:10240 ...
- Java/Andriod- 使用Eclipse搭建环境
从网上找来的,做了一点小修改,我自己试了一下,1.3步骤我没去做,最后也不影响. 在开始Android开发之旅启动之前,首先要搭建环境,然后创建一个简单的HelloWorld.本文的主题如下: 1.环 ...