[{"code":"I1_5200","name":"移动缴费","type":"4","categories":[{"code":"I1_5200_014201","name":"湖北移动充值"}]},{"code":"I1_5200","name":"联通缴费","type":"5","categories":[{"code":"J0_5200_0270","name":"湖北联通代理商回缴款"},{"code":"I1_5200_024201","name":"湖北联通充值"}]},{"code":"I1_5200","name":"电信缴费","type":"6","categories":[{"code":"I1_5200_034201","name":"湖北电信充值"}]},{"code":"D4_5200","name":"水费缴纳","type":"1","categories":[{"code":"D4_5200_0000","name":"湖北省武汉市水费集团"},{"code":"D4_5200_0003","name":"蔡甸供水"}]},{"code":"D1_5200","name":"电费缴纳","type":"2","categories":[{"code":"D1_5200_0000","name":"湖北省电力"},{"code":"D1_5200_5210","name":"湖北电费【武汉】"}]},{"code":"G1_5200","name":"ETC缴费","type":"39","categories":[{"code":"G1_5200_0000","name":"湖北ETC缴费(车牌颜色:蓝色)"},{"code":"G1_5200_0001","name":"湖北ETC缴费(车牌颜色:黄色)"},{"code":"G1_5200_0002","name":"湖北ETC缴费(车牌颜色:黑色)"},{"code":"G1_5200_0003","name":"湖北ETC缴费(车牌颜色:白色)"}]},{"code":"S0_5200","name":"税费","type":"20","categories":[{"code":"S0_5200_ACP01","name":"湖北地税"}]},{"code":"G1_5200","name":"交通罚款","type":"26","categories":[{"code":"G1_5200_0004","name":"湖北交通罚款缴费"}]},{"code":"I1_5200","name":"固话宽带","type":"44","categories":[{"code":"I1_5200_0600","name":"【电信固话】"}]},{"code":"S2_5200","name":"医疗充值","type":"47","categories":[{"code":"S2_5200_0000","name":"【健康之路账户充值】"}]}]
我要得到type=2的数据下面categories的子数据,过滤掉其他的!
求助!这个jeson数组怎么解析啊!急
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
5条回答
- 我是为仔 2015-12-15 02:21关注
方法很多,用ali 的fastjson解析的如下:
//json 字符串
String jsonStr = "[{\"code\":\"I1_5200\",\"name\":\"移动缴费\",\"type\":\"4\",\"categories\":[{\"code\":\"I1_5200_014201\",\"name\":\"湖北移动充值\"}]},{\"code\":\"I1_5200\",\"name\":\"联通缴费\",\"type\":\"5\",\"categories\":[{\"code\":\"J0_5200_0270\",\"name\":\"湖北联通代理商回缴款\"},{\"code\":\"I1_5200_024201\",\"name\":\"湖北联通充值\"}]},{\"code\":\"I1_5200\",\"name\":\"电信缴费\",\"type\":\"6\",\"categories\":[{\"code\":\"I1_5200_034201\",\"name\":\"湖北电信充值\"}]},{\"code\":\"D4_5200\",\"name\":\"水费缴纳\",\"type\":\"1\",\"categories\":[{\"code\":\"D4_5200_0000\",\"name\":\"湖北省武汉市水费集团\"},{\"code\":\"D4_5200_0003\",\"name\":\"蔡甸供水\"}]},{\"code\":\"D1_5200\",\"name\":\"电费缴纳\",\"type\":\"2\",\"categories\":[{\"code\":\"D1_5200_0000\",\"name\":\"湖北省电力\"},{\"code\":\"D1_5200_5210\",\"name\":\"湖北电费【武汉】\"}]},{\"code\":\"G1_5200\",\"name\":\"ETC缴费\",\"type\":\"39\",\"categories\":[{\"code\":\"G1_5200_0000\",\"name\":\"湖北ETC缴费(车牌颜色:蓝色)\"},{\"code\":\"G1_5200_0001\",\"name\":\"湖北ETC缴费(车牌颜色:黄色)\"},{\"code\":\"G1_5200_0002\",\"name\":\"湖北ETC缴费(车牌颜色:黑色)\"},{\"code\":\"G1_5200_0003\",\"name\":\"湖北ETC缴费(车牌颜色:白色)\"}]},{\"code\":\"S0_5200\",\"name\":\"税费\",\"type\":\"20\",\"categories\":[{\"code\":\"S0_5200_ACP01\",\"name\":\"湖北地税\"}]},{\"code\":\"G1_5200\",\"name\":\"交通罚款\",\"type\":\"26\",\"categories\":[{\"code\":\"G1_5200_0004\",\"name\":\"湖北交通罚款缴费\"}]},{\"code\":\"I1_5200\",\"name\":\"固话宽带\",\"type\":\"44\",\"categories\":[{\"code\":\"I1_5200_0600\",\"name\":\"【电信固话】\"}]},{\"code\":\"S2_5200\",\"name\":\"医疗充值\",\"type\":\"47\",\"categories\":[{\"code\":\"S2_5200_0000\",\"name\":\"【健康之路账户充值】\"}]}]";
JSONArray array = JSON.parseArray(jsonStr);
for(int i=0;i<array.size();i++) {
JSONObject json = (JSONObject) array.get(i);
String type = json.getString("type");
String categories = json.getString("categories");
if("4".equals(type)) {
JSONArray cates = json.parseArray(categories);
for(int j=0;j<cates.size();j++) {
JSONObject cate = (JSONObject) cates.get(j);
System.out.println(cate.get("code"));
System.out.println(cate.get("name"));
}
}
}本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥30 python代码,帮调试
- ¥15 #MATLAB仿真#车辆换道路径规划
- ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
- ¥15 数据可视化Python
- ¥15 要给毕业设计添加扫码登录的功能!!有偿
- ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
- ¥15 微信公众号自制会员卡没有收款渠道啊
- ¥100 Jenkins自动化部署—悬赏100元
- ¥15 关于#python#的问题:求帮写python代码
- ¥20 MATLAB画图图形出现上下震荡的线条