在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的更多相关文章

  1. Android开发实战(十八):Android Studio 优秀插件:GsonFormat

    Android Studio 优秀插件系列: Android Studio 优秀插件(一):GsonFormat Android Studio 优秀插件(二): Parcelable Code Gen ...

  2. Android项目实战(十九):Android Studio 优秀插件: Parcelable Code Generator

    Android Studio 优秀插件系列: Android Studio 优秀插件(一):GsonFormat Android Studio 优秀插件(二): Parcelable Code Gen ...

  3. 利用Android Studio、MAT对Android进行内存泄漏检测

    利用Android Studio.MAT对Android进行内存泄漏检测 Android开发中难免会遇到各种内存泄漏,如果不及时发现处理,会导致出现内存越用越大,可能会因为内存泄漏导致出现各种奇怪的c ...

  4. [Android Studio]SQLScout插件安装破解

    以下内容为原创,欢迎转载,转载请注明 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/5972138.html [Android Studio]SQLS ...

  5. Android Studio 工具插件

    1.Android Studio 翻译插件,可以将英文翻译为中文. https://github.com/Skykai521/ECTranslation 2.Android Studio之Androi ...

  6. Android Studio常用插件续

    这个月因为各种事情在忙,包括赶项目,回老家,还有准备旅游的事,所以应该写不了四篇博客了.今天介绍一下关于Android Studio 的几个好用的插件,都是我在用的,它们或能帮你节省时间,或者让你心情 ...

  7. Android Studio安装插件Genymotion

    Android Studio安装插件的方式其实和Eclipse大同小异.废话不多说,直接上图: 区域1:你当前已经安装了的插件 区域2:在线安装 区域3:从硬盘安装,即针对你已经下载好了的插件,可通过 ...

  8. 利用Android Studio编写 Android上的c与c++程序

    利用Android Studio编写 Android上的c与c++程序 (2017-05-22 19:01:20) 转载▼ 标签: android 分类: Android开发 原文链接: http:/ ...

  9. Android Studio加入插件(Genymotion)

    官方模拟器的龟速已让我们无力吐槽.幸好有genymotion这款逆天的Android虚拟机,它有着高速的开启速度,良好的交互界面. 是Android开发必备的良品.甚至有些玩家已经用genymotio ...

随机推荐

  1. 9Patch在Android平台的应用

  2. HDU 1561-The more, The Better(树状背包)

    题意: n个城堡,每个有一定的财富,有些城堡不能直接攻克,要攻克这些城堡必须先攻克其他某一个特定的城堡,求应攻克哪m个城堡,获得最大财富. 分析:dp[i][j],以i为根的子树,攻克j个城堡,获得的 ...

  3. LoadRunner常见问题整理(转)

    首先要感谢群友的无私分享,才能得到这篇好的学习资料,整理得太好了,所以收藏保存,方便以后学习. 一:LoadRunner常见问题整理 1.LR 脚本为空的解决方法: 1.去掉ie设置中的第三方支持取消 ...

  4. CSS换行:word-wrap、word-break和text-wrap区别

    一.word-wrap:允许对长的不可分割的单词进行分割并换行到下一行.(中英文处理效果一样) word-wrap有两个取值: 1.word-wrap: normal:只在允许的断字点换行(浏览器保持 ...

  5. 2.3CUDA矩阵乘法

    CPU 矩阵乘法 能相乘的两个矩阵,必须满足一个矩阵的行数和第二个矩阵的列数相同. A(N*P) * B(P*M) = C(N*M). 其中P是行数,N是列数, 从宽高的角度来说,即 A的宽度和B的高 ...

  6. 4.1Reduction模型

    1. Reduction Reduction是一种广泛使用的计算模型,特别是在并行计算领域.简单地来说,Reduction就是一系列的划分(Partition)和汇总(Summarize)操作的集合: ...

  7. Java HashMap实例源码分析

    引言 HashMap在键值对存储中被经常使用,那么它到底是如何实现键值存储的呢? 一 Entry Entry是Map接口中的一个内部接口,它是实现键值对存储关键.在HashMap中,有Entry的实现 ...

  8. MariaDB-5.5.32源码编译安装

    MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可.开发这个分支的原因之一是:Oracle公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分 ...

  9. ERROR: transport error 202: bind failed: Address already in use

    早上上班,同事反应服务上不去,后台看了一下,发现tomcat挂掉了,重新启动tomcat时报错. ERROR: transport error 202: bind failed: Address al ...

  10. 好的git教程

    1.GitHub使用教程for VS2012 http://www.cnblogs.com/yc-755909659/p/3753355.html