Android中Gson、FastJson解析动态的Key

在Android开发中,当遇到JsonObject或JsonArray的Key动态变化的情况,通常会引发问题。本文介绍了如何使用Gson和FastJson处理这种动态Key,通过解析示例数据并展示代码解决方案,阐述了将动态Key映射到Map集合中的方法,以便于获取和操作所需对象。
摘要由CSDN通过智能技术生成

在项目开发中一般只会出现JsonObject、JsonArray。他们的key一般都是恒定不变,如果变化,那么后台程序员可能会变前端程序员打死,实际开发中,我们应该避免这些问题。但是如果遇到这种问题,我们该如果应对呢,在Android中我们使用解析的第三方库一般都是GsonFastJson。下面介绍下遇到动态变化的key我们该如果处理。

首先看数据
{"ret":0,"data":{"categories":[{"id":7,"name":"推荐"},{"id":1,"name":"中超"},{"id":2,"name":"英超"},{"id":3,"name":"西甲"},{"id":4,"name":"德甲"},{"id":5,"name":"意甲"},{"id":6,"name":"法甲"},{"id":9,"name":"国家队"},{"id":8,"name":"更多"}],"categoryGroupsMap":{"1":[{"id":7,"name":"广州恒大淘宝","icon":"http://7xpd1v.com2.z0.glb.qiniucdn.com/2_1464603624_1464603647760.png","cover":"http://cdn.qiudd.net/4_1488358920_1488358927143.jpg","groupType":1,"teamId":126},{"id":8,"name":"江苏苏宁易购","icon":"http://cdn.qiudd.net/4_1488857100_1488857325614.png","cover":"http://cdn.qiudd.net/4_1488857100_1488857341287.jpg","groupType":1,"teamId":122},{"id":9,"name":"上海上港","icon":"http://cdn.qiudd.net/4_1488857027_1488857069208.jpg","cover":"http://cdn.qiudd.net/4_1488857344_1488857355733.jpg","groupType":1,"teamId":127},{"id":10,"name":"上海绿地申花","icon":"http://cdn.qiudd.net/4_1488857085_1488857095450.jpg","cover":"http://cdn.qiudd.net/4_1488857359_1488857368676.jpg","groupType":1,"teamId":119},{"id":11,"name":"河北华夏幸福","icon":"http://7xpd1v.com2.z0.glb.qiniucdn.com/2_1464603698_1464603706613.png","cover":"http://cdn.qiudd.net/4_1488857372_1488857384008.jpg","groupType":1,"teamId":130},{"id":12,"name":"广州富力","icon":"http://7xpd1v.com2.z0.glb.qiniucdn.com/logo/425_54def14ebc5c4086d964a117ccf1df73.png","cover":"http://cdn.qiudd.net/4_1488857388_1488857397145.jpg","groupType":1,"teamId":115},{"id":14,"name":"河南建业","icon":"http://7xpd1v.com2.z0.glb.qiniucdn.com/logo/442_70d48b0eb5cbf345e29a24bc2c444883.png","cover":"http://cdn.qiudd.net/4_1488857413_1488857422309.jpg","groupType":1,"teamId":123},{"id":15,"name":"北京中赫国安","icon":"http://7xpd1v.com2.z0.glb.qiniucdn.com/logo/429_fa5e518128f1e30afc980b598b252795.png","cover":"http://cdn.qiudd.net/4_1488358942_1488358949257.jpg","groupType":1,"teamId":116},{"id":17,"name":"重庆当代力帆","icon":"http://7xpd1v.com2.z0.glb.qiniucdn.com/logo/432_afe297b33971d0f54ce2497498ca6e51.png","cover":"http://cdn.qiudd.net/4_1488857446_1488857454890.jpg","groupType":1,"teamId":118},{"id":18,"name":"天津亿利","icon":"http://7xpd1v.com2.z0.glb.qiniucdn.com/2_1464603860_1464603868436.png","cover":"http://cdn.qiudd.net/4_1488857460_1488857468047.jpg","groupType":1,"teamId":117},{"id":20,"name":"山东鲁能泰山","icon":"http://7xpd1v.com2.z0.glb.qiniucdn.com/2_1464603746_1464603754372.png","cover":"http://cdn.qiudd.net/4_1488359080_1488359085086.jpg","groupType":1,"teamId":120},{"id":22,"name":"长春亚泰","icon":"http://7xpd1v.com2.z0.glb.qiniucdn.com/logo/437_b8af22171514a04fdb5ce317d63026cb.png","cover":"http://cdn.qiudd.net/83_1475563545_1475563555855.jpg","groupType":1,"teamId":121},{"id":71,"name":"贵州恒丰智诚","icon":"http://cdn.qiudd.net/87_1487140072_1487140173563.png","cover":"","groupType":1,"teamId":129},{"id":72,"name":"天津权健","icon":"http://cdn.qiudd.net/10_1486348064_1486348069080.jpg","cover":"","groupType":1,"teamId":128},{"id":97,"name":"中超联赛","icon":"http://cdn.qiudd.net/52_1496634099_1496634104297.png","cover":"http://cdn.qiudd.net/52_1496634099_1496634111689.jpg","groupType":1,"teamId":0},{"id":103,"name":"大连一方","icon":"http://zq.win007.com/Image/team/images/20170609110409.png","cover":"","groupType":1,"teamId":2784},{"id":104,"name":"北京人和","icon":"http://zq.win007.com/Image/team/images/20170408155503.jpg","cover":"","groupType":1,"teamId":2781}],"2":[{"id":23,"name":"曼联","icon":"http://7xpd1v.com2.z0.glb.qiniucdn.com/logo/662_c83f70cde952353e3bd25daf96b0972d.png","cover":"http://cdn.qiudd.net/4_1488358706_1488358716679.jpg","groupType":1,"teamId":143},{"id":24,"name":"曼城","icon":"http://7xpd1v.com2.z0.glb.qiniucdn.com/45_1468988657_1468988669263.png","cover":"http://cdn.qiudd.net/4_1488358722_1488358726838.jpg","groupType":1,"teamId":145},{"id":25,"name":"切尔西","icon":"http://7xpd1v.com2.z0.glb.qiniucdn.com/logo/661_615274b59dd4e7749cdce02d0e5ea639.png","cover":"http://cdn.qiudd.net/4_1488358732_1488358736635.jpg","groupType":1,"teamId":142},{"id":26,"name":"阿森纳","icon":"http://7xpd1v.com2.z0.glb.qiniucdn.com/logo/660_5d4beb410e8b3da7316dbf8cf333b455.png","cover":"http://cdn.qiudd.net/4_1488358639_1488358662297.jpg","groupT
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值