Java 使用fastjson 获取嵌套json
前言
有时候调用API时,会出现嵌套json(Json数组)的情况,这时如果使用fastjson就可以很快的进行解析。
例子
{
  "status": "1",
  "info": "OK",
  "infocode": "10000",
  "count": "1",
  "geocodes": [
    {
      "formatted_address": "新疆维吾尔自治区乌鲁木齐市",
      "country": "中国",
      "province": "新疆维吾尔自治区",
      "citycode": "0991",
      "city": "乌鲁木齐市",
      "district": [],
      "township": [],
      "neighborhood": {
        "name": [],
        "type": []
      },
      "building": {
        "name": [],
        "type": []
      },
      "adcode": "650100",
      "street": [],
      "number": [],
      "location": "87.616848,43.825592",
      "level": "市"
    }
  ]
}
在这里我需要把其中的数组geocodes提取出来,并提取adcode的值。
解决方案
在下面的示例代码中,AdcodeJsonString是原json字符串。
JSONObject requsetJson = JSONObject.parseObject(AdcodeJsonString);
//将字符串转为json对象
JSONArray geocodes_array = requsetJson.getJSONArray("geocodes");
//取出数组geocodes
JSONObject geocodes = geocodes_array.getJSONObject(0);
//将数组的第1项转为json对象
String adcode = geocodes.getString("adcode");
//取出adcode为字符串
System.out.println(adcode);
 
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号