fastjson 解析 四层 Json 求大神帮忙见见

fastjson 解析 四层 Json 求大神帮忙看看
{"response":[{"secondLevel":[{"isSingle":"0","item":[{"name":"房地产权证","code":"MORTGAGE_01_ESTATE"},{"name":"土地","code":"MORTGAGE_02_LAND"},{"name":"厂房","code":"MORTGAGE_03_FACTORY"},{"name":"船舶","code":"MORTGAGE_04_SHIP"},{"name":"机械设备","code":"MORTGAGE_05_MACHINE"},{"name":"机动车登记证","code":"MORTGAGE_06_CAR"},{"name":"动产","code":"MORTGAGE_07_MOVABLES"},{"name":"四证","code":"MORTGAGE_08_FOUR"}],"name":"抵押","code":"mortgage"},{"isSingle":"0","item":[{"name":"应收账款","code":"PLEDGE_01_BILL"},{"name":"动产","code":"PLEDGE_02_MOVABLES"},{"name":"出口退税应收账款","code":"PLEDGE_03_TAX"},{"name":"股票","code":"PLEDGE_04_STOCK"},{"name":"股权","code":"PLEDGE_05_STOCKOWN"},{"name":"商标专用权","code":"PLEDGE_06_TRADEMARK"},{"name":"专利权","code":"PLEDGE_07_PATENT"},{"name":"保单","code":"PLEDGE_08_INSURANCE"},{"name":"租金","code":"PLEDGE_09_RENT"},{"name":"特种经营权","code":"PLEDGE_10_SPECIAL"},{"name":"信用证","code":"PLEDGE_11_CREDIT"},{"name":"保证金","code":"PLEDGE_12_DEPOSIT"},{"name":"定期存单","code":"PLEDGE_13_SAVINGS"},{"name":"理财产品","code":"PLEDGE_14_FINANCIAL"},{"name":"收费权","code":"PLEDGE_15_CHARGE"},{"name":"银行承兑汇票","code":"PLEDGE_16_EXCHANGE"},{"name":"备用信用证","code":"PLEDGE_18_STANDBY"},{"name":"承兑","code":"PLEDGE_19_ACCEPT"},{"name":"承付","code":"PLEDGE_20_PAY"},{"name":"订单","code":"PLEDGE_21_ORDER"},{"name":"全套出口单据","code":"PRODUCT_BILL"}],"name":"质押","code":"pledge"},{"isSingle":"0","item":[{"name":"保证贷款I","code":"WARRANT_01_LOAN1"},{"name":"保证贷款II","code":"WARRANT_02_LOAN2"},{"name":"非关联企业担保","code":"WARRANT_03_GUARANTEE"},{"name":"担保公司","code":"WARRANT_04_COMPANY"},{"name":"联保","code":"WARRANT_05_JOINT"},{"name":"专业市场关联方","code":"WARRANT_06_MARKET"},{"name":"第三方保证人","code":"WARRANT_07_THIRD"},{"name":"国家主权评级","code":"WARRANT_08_GRADE"},{"name":"授信额度","code":"WARRANT_09_CREDIT"},{"name":"收购企业","code":"WARRANT_10_BUYOUT"}],"name":"保证","code":"warrant"},{"isSingle":"0","item":[{"name":"物业权证","code":"INDWELLING_01_PROPER"},{"name":"股权托管","code":"INDWELLING_02_ENTRUS"},{"name":"POS账户","code":"INDWELLING_03_POS"},{"name":"村组分红账户","code":"INDWELLING_04_VILLAG"}],"name":"留置","code":"indwelling"},{"isSingle":"0","item":[],"name":"定金","code":"earnest"}],"name":"担保方式","code":"guarantee"},{"secondLevel":[{"isSingle":"0","item":[{"name":"流动资产","code":"PURPOSE_01_LIQUID"},{"name":"设备购置","code":"PURPOSE_02_DEVICE"},{"name":"物业购置","code":"PURPOSE_03_PROPERTY"},{"name":"物业装修","code":"PURPOSE_04_RENOVATE"},{"name":"房产开发","code":"PURPOSE_05_DEVELOPME"},{"name":"股权并购","code":"PURPOSE_06_STOCK"},{"name":"房屋按揭","code":"PURPOSE_07_HOUSE"},{"name":"购买汽车","code":"PURPOSE_08_CAR"},{"name":"大额消费项目","code":"PURPOSE_09_SPENDER"},{"name":"其他固定资产贷款","code":"PURPOSE_10_OTHER"},{"name":"技术研发与改造","code":"PURPOSE_11_TECNOLOGY"},{"name":"个人综合性贷款","code":"PURPOSE_12_PERSON"},{"name":"贸易融资","code":"PURPOSE_13_TRADE"},{"name":"消费或个人经营","code":"PURPOSE_14_CONSUME"}],"name":"","code":""}],"name":"贷款用途","code":"purpose"},{"secondLevel":[{"isSingle":"0","item":[{"name":"服务类型企业","code":"APPLICABLE_01_SERVIC"},{"name":"贸易类型企业","code":"APPLICABLE_02_TRADE"},{"name":"生产类型企业","code":"APPLICABLE_03_PRODUC"},{"name":"房地产类型企业","code":"APPLICABLE_04_ESTATE"},{"name":"小微企业","code":"APPLICABLE_05_SMALL"},{"name":"中资企业","code":"APPLICABLE_06_CFE"},{"name":"其他类型企业","code":"APPLICABLE_08_OTHER"},{"name":"个人业务","code":"APPLICABLE_09_PERSON"},{"name":"收购订单相关者","code":"APPLICABLE_10_BUYOUT"},{"name":"专业市场业主或商户等 ","code":"APPLICABLE_11_PROF"},{"name":"外资企业","code":"PPLICABLE_07_FFE"}],"name":"","code":""}],"name":"适用对象","code":"applicable"},{"secondLevel":[{"isSingle":"0","item":[{"name":"贷款","code":"USAGE_01_LOAN"},{"name":"银行通兑汇票","code":"USAGE_02_BILL"},{"name":"国内信用证","code":"USAGE_03_CREDIT"},{"name":"国际信用证","code":"USAGE_04_INTER"},{"name":"保函","code":"USAGE_05_GUARANTEE"}],"name":"","code":""}],"name":"使用方式","code":"usage"},{"secondLevel":[{"isSingle":"0","item":[{"name":"每月还息到期还本","code":"REPAY_01_M_INTEREST"},{"name":"每月还本付息","code":"REPAY_02_M_PRIN_INTE"},{"name":"利随本清","code":"REPAY_03_INT_WITH_PR"},{"name":"N+M","code":"REPAY_04_NM"},{"name":"不等额还款","code":"REPAY_05_DIFFERENT"},{"name":"月均还款法","code":"REPAY_06_M_AVERAGE"},{"name":"递减还款法","code":"REPAY_07_REDUCE"},{"name":"其他还款方式","code":"REPAY_08_OTHER"}],"name":"","code":""}],"name":"还款方式","code":"repay"},{"secondLevel":[{"isSingle":"0","item":[{"name":"一年以内(含)","code":"TERM_01_BELOW_YEAR"},{"name":"一年以上","code":"TERM_02_ABOVE_YEAR"},{"name":"其他","code":"TERM_03_OTHERS"}],"name":"","code":""}],"name":"贷款期限","code":"term"},{"secondLevel":[{"isSingle":"0","item":[{"name":"人民币","code":"CURRENCY_01_RMB"},{"name":"外币","code":"CURRENCY_02_OTHER"}],"name":"","code":""}],"name":"贷款币种","code":"currency"},{"secondLevel":[{"isSingle":"1","item":[{"name":"500万元以下(含)","code":"AMOUNT_01_BELOW_500M"},{"name":"500万元以上","code":"AMOUNT_02_ABOVE_500M"},{"name":"无限额","code":"AMOUNT_03_UNLIMITED"},{"name":"1500万元以下(含)","code":"AMOUNT_04_BELOW1500M"}],"name":"","code":""}],"name":"贷款额度","code":"amount"}],"code":"0"}


这个是服务端返回的json 试了好多方法 一个下午了还没解出来 

求大神赐教

附上我正在测试的代码

public static List<Map<String, Object>> parseJsonListMap(String result) throws IOException, Exception {

JSONObject jsonObject = JSON.parseObject(result);

String code = jsonObject.getString("code");

if ("0".equals(code)) {

String resp = jsonObject.getString("response");
JSONArray jsonArray = JSON.parseArray(resp);
List<Map<String, Object>> listMap = new ArrayList<Map<String, Object>>();

for (int i = 0; i < jsonArray.size(); i++) {
JSONObject jO = (JSONObject) jsonArray.get(i);
Set<Entry<String, Object>> set = jO.entrySet();
for (Entry<String, Object> entry : set) {

if ("secondLevel".equals(entry.getKey())) {
JSONArray jsonArray1 = JSON.parseArray(jO.getString("secondLevel"));
if (jsonArray1.size()>0) {

for (int j = 0; j < jsonArray1.size(); j++) {
JSONObject jos = (JSONObject) jsonArray1.get(j);
System.out.println("jos="+j+jos);

Set<Entry<String, Object>> set1 = jos.entrySet();
for (Entry<String, Object> entry1 : set1) {


System.out.println(entry1.getKey()+"="+jos.getString(entry1.getKey()));

// Map<String, String> map = new HashMap<String, String>();
// if ("1".equals(jos.getString("isSingle"))) {
//// map.put(entry1.getKey(), jos.getString(entry1.getKey()));
// System.out.println("jos="+j+jos.getString(entry1.getKey()));
// }

}

}
}

}

}
}
return listMap;
}
return null;
}



目前能解析到第三层 后面就不知道怎么解了。。。。
------解决思路----------------------
之前遇到过这样的问题,没有使用解析成map的格式,而是根据json数据,定义一大堆bean然后,解析保存的