当前位置: 首页 > 面试题库 >

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

董胡非
2023-03-14
问题内容

我有一个应用程序,我想在其中从php Web服务器获取json数据到android
mobile。我所拥有的是一个URL,点击该URL将为我提供json数据,例如
{"items":[{"latitude":"420","longitude":"421"}]}。但我想在我的android手机中检索此json格式,并从json格式获取经度和纬度值。

我们如何在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 "";
    }
}


 类似资料:
  • Im编写了一个小的Android应用程序,它应该从npm JSON服务器获取数据。它会抛出一个异常。我确实使用AsyncTask扩展了connection类,并在“DoInBackground”中执行了代码,但它仍然抛出了一个异常。请帮帮我. 代码如下: logcat告诉我们:

  • 我有一个创建的sqlite服务器,它保存关于用户的JSON数据。数据看起来像这样: 我也有一个基本的html页面的形式: 我也有使用XMLhttprequest()从服务器获取此数据的代码,但是,该代码只允许获取整个JSON数据并显示所有用户: 我的问题是,如何按用户名搜索用户,因此在HTML表单中,编写Sam Smith,单击按钮后,将只返回第一个用户的信息,而不是数据集中的所有用户?我想在不使

  • 问题内容: 如何使用PHP从JSON对象获取数据? 这是我拥有的PHP代码: 问题答案: foreach($json as $i){ echo $i[‘name’]; }

  • 我想创建一个应用程序,它始终在后台运行,并在每15分钟从服务器获取数据。如何在我的APP中实现这个后台服务?

  • 问题内容: 我正在与集成的android应用程序上工作。我正在使用fql查询从Facebook获取信息。我的fql方法是 myjson对象具有我想要的所有信息。像这样 问题是如何将该信息存储到不同的阵列中? 请为此修改一些代码。 问题答案: 检查http://www.androidhive.info/2012/01/android-json-parsing- tutorial/

  • 数据包格式的来源:http://wiki.vg/Protocol 我正试图用php编写一个程序,将数据包发送到我托管的minecraft服务器。这可能适用于不支持相同API格式的手机的多人游戏实现。我下面的代码是我失败的尝试。我怎样才能正确地做到这一点?服务器正在识别某些内容,但它要么没有发送任何内容,要么是其他内容。下面应该发送0x00,即握手数据包,以使用下一个状态ID:1请求服务器上的统计信