json 数据格式:
address = {"code":0,"data":{"ip":"124.122.146.0","country":"泰国","area":"","region":"巴吞他尼府","city":"XX","county":"XX","isp":"True","country_id":"TH","area_id":"","region_id":"TH_39","city_id":"xx","county_id":"xx","isp_id":"2000158"}}
String country = JSONObject.fromObject(json.get("data")).get("country").toString();
String region = JSONObject.fromObject(json.get("data")).get("region").toString();
String city = JSONObject.fromObject(json.get("data")).get("city").toString();
String isp = JSONObject.fromObject(json.get("data")).get("isp").toString();
String area = JSONObject.fromObject(json.get("data")).get("area").toString();
String county = JSONObject.fromObject(json.get("data")).get("county").toString();
System.out.println("国家: " + country);
System.out.println("地区: " + area);
System.out.println("省份: " + region);
System.out.println("城市: " + city);
System.out.println("区/县: " + county);
System.out.println("互联网服务提供商: " + isp);
数据最外层是一个json对象,里面又嵌套一个名为data的json对象,要想获取data里面属性的值,需要先获取最外层json对象data属性的值,然后通过JSONObject.fromObject(json.get("data"))转换为JsonObject对象,然后通过JsonObject类的get("country")方法获取country对应的值
Json数据格式
{"from":"zh","to":"th","trans_result":[{"src":"高度600米","dst":"600 เมตรความสูง"}]}
最外面是Json对象,里面有三个属性,其中trans_result为Json数组,所以获取trans_result属性里面的值,需要将trans_result转为JsonArray对象,通过JsonArray.get[0],,将其转换为JsonObject对象,在获取JsonObject属性的值
JSONObject json = JSONObject.fromObject(str_dec);//str_dec为上面的json数据
System.out.println("json数据: " + json);
JSONArray array = JSONArray.fromObject(json.get("trans_result"));
System.out.println(array);
JSONObject ob = (JSONObject) array.get(0);
String name= ob.getString("dst");//name这里是列名称,获取json对象中列名为name的值