加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

如何从php服务器获取json数据到android mobile

发布时间:2020-12-13 18:18:27 所属栏目:PHP教程 来源:网络整理
导读:我有一个应用程序,我想从php web服务器获取json数据到 android手机.我所拥有的是一个网址,并点击该网址给我json数据 { “物品”:[{ “纬度”: “420”,“经度”: “421”}]}.但我想在我的 Android手机中检索这个json格式,并从json格式获取纬度和经度的值.
我有一个应用程序,我想从php web服务器获取json数据到 android手机.我所拥有的是一个网址,并点击该网址给我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 "";
    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读