Android开发–使用实体类解析JSON文本
在Android开发过程中,涉及到了API的调用的时候,会返回特定的数据,两个主流返回的数据格式是JSON形式和XML形式。但是相对于XML,JSON数据格式有着比较简单,易于读写,格式都是压缩的,占用带宽小等优点,这里介绍的是JSON文本的解析,采用的方法是实体类解析。
准备:
这里使用的是谷歌的JSON解析—GSON:
文件地址:http://download.csdn.net/detail/qq_34861102/9922580
放入libs目录之后导入:
compile files('libs/gson-2.2.1.jar')
实际例子:
首先说明一下:
JSON的实体类是有专门的工具生成的,详情看链接:http://tool.chinaz.com/tools/json2entity.aspx
但是在这里建议第一次使用实体类熟悉一下实体类分析的流程:
- 先来一个比较复杂的JSON文本:
{"showapi_res_code":0,"showapi_res_error":"","showapi_res_body":{"ret_code":0,"pagebean":{"allPages":1,"contentlist":[{"summary":"奇山、异水、怪洞、珍禽数不胜数。","proId":"13","cityId":"0","location":{"lon":"109.17992791","lat":"30.47104117"},"priceList":[{"entityList":[{"TicketName":"【恩施大峡谷】七星寨+云龙河地缝+索道上行+景区观光车","Amount":"270","BeginDate":"2015-12-01","EndDate":"2016-02-29","PriceName":"淡季(2015.12.1-2016.2.29)","TicketTypeId":188798,"AmountAdvice":"250","PriceInSceneryId":25710,"PriceId":242390}],"type":"成人票"},{"entityList":[{"TicketName":"【恩施大峡谷】七星寨景区+云龙河地缝+景区观光车","Amount":"160","BeginDate":"2015-12-01","EndDate":"2016-02-29","PriceName":"淡季(2015.12.1-2016.2.29)","TicketTypeId":188774,"AmountAdvice":"150","PriceInSceneryId":25710,"PriceId":242457}],"type":"组合优惠票"},{"entityList":[{"