我有一个应用程序,我想从PHP web服务器获取json数据到
android手机.我所拥有的是一个网址,并点击该网址给我json数据
{ “物品”:[{ “纬度”: “420”,“经度”: “421”}]}.但我想在我的 Android手机中检索这个json格式,并从json格式获取纬度和经度的值.
{ “物品”:[{ “纬度”: “420”,“经度”: “421”}]}.但我想在我的 Android手机中检索这个json格式,并从json格式获取纬度和经度的值.
我们怎么能在Android手机上得到它?
提前致谢..
首先进行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 ""; } }