我有一个应用程序,我想在其中从php Web服务器获取json数据到android mobile。我所拥有的是一个URL,点击该URL将为我提供json数据,例如 {"items":[{"latitude":"420","longitude":"421"}]}。但我想在我的android手机中检索此json格式,并从json格式获取经度和纬度值。
{"items":[{"latitude":"420","longitude":"421"}]}
我们如何在android mobile上获得它呢?
提前致谢..
首先做URL连接
String parsedString = ""; try { URL url = new URL(yourURL); URLConnection conn = url.openConnection(); HttpURLConnection httpConn = (HttpURLConnection) conn; httpConn.setAllowUserInteraction(false); httpConn.setInstanceFollowRedirects(true); httpConn.setRequestMethod("GET"); httpConn.connect(); InputStream is = httpConn.getInputStream(); parsedString = convertinputStreamToString(is); } catch (Exception e) { e.printStackTrace(); }
JSON字串
{ "result": "success", "countryCodeList": [ {"countryCode":"00","countryName":"World Wide"}, {"countryCode":"kr","countryName":"Korea"} ] }
在下面,我正在获取国家/地区详细信息
JSONObject json = new JSONObject(jsonstring); JSONArray nameArray = json.names(); JSONArray valArray = json.toJSONArray(nameArray); JSONArray valArray1 = valArray.getJSONArray(1); valArray1.toString().replace("[", ""); valArray1.toString().replace("]", ""); int len = valArray1.length(); for (int i = 0; i < valArray1.length(); i++) { Country country = new Country(); JSONObject arr = valArray1.getJSONObject(i); country.setCountryCode(arr.getString("countryCode")); country.setCountryName(arr.getString("countryName")); arrCountries.add(country); } public static String convertinputStreamToString(InputStream ists) throws IOException { if (ists != null) { StringBuilder sb = new StringBuilder(); String line; try { BufferedReader r1 = new BufferedReader(new InputStreamReader( ists, "UTF-8")); while ((line = r1.readLine()) != null) { sb.append(line).append("\n"); } } finally { ists.close(); } return sb.toString(); } else { return ""; } }