【问题标题】:Error with JSON in Android StudioAndroid Studio 中的 JSON 错误
【发布时间】:2017-09-04 06:18:49
【问题描述】:

此代码从我的 MySQL 服务器获取用户名数据。每当我运行它时,我都会在此JSONArray js=new JSONArray(result); 上收到错误消息。控制台没有提供其他细节。请帮忙。

private String getdata(){
            try {
            URL url = new URL(address);
                HttpURLConnection con= (HttpURLConnection) url.openConnection();
                con.setRequestMethod("GET");
                is=new BufferedInputStream(con.getInputStream());
            }catch(Exception e){
                e.printStackTrace();
            }
            try {

                BufferedReader br=new BufferedReader(new InputStreamReader(is));
                StringBuilder sb=new StringBuilder();

                while((line=br.readLine())!=null){
                    sb.append(line+"\n");
                }
                is.close();
                result=sb.toString();
                //Log.d("TheRealapp", result);

            }catch(Exception e){
                e.printStackTrace();
            }
            try{
                JSONArray js=new JSONArray(result);
                JSONObject jo = null;

                data = new String[js.length()];
                for(int i=0;i<js.length();i++){
                    jo=js.getJSONObject(i);
                    data[i]= jo.getString("username");
                }


            } catch (JSONException e) {
                e.printStackTrace();
            }
            return String.valueOf(getdata());
            //Log.d("TheRealapp", String.valueOf(data));

        }

这是我的服务器端代码:

<?php
ini_set("display_errors", true);
ini_set("html_errors", false); 
require "conn.php";
$query=mysqli_query($conn,"SELECT * FROM UserData");

if ($query){
    while($row=mysqli_fetch_array($query)){
        $flag[] =$row;


    }
    print(json_encode($flag));


}
mysqli_close($conn);
?>

【问题讨论】:

  • 错误信息是什么意思?
  • The console gives no other details我不相信。
  • 大家好,我需要更多帮助。这段代码可以工作吗?我现在的那个?

标签: android mysql json


【解决方案1】:

您的字符串 "result" 不是有效的 json 编码字符串。所以构造函数不能用它制作一个 jsonArray ; 请参阅下面的链接: http://php.net/manual/en/function.json-encode.php 它可以帮助您处理服务器端代码,并教您如何使用 php 将字符串编码为 json。

【讨论】:

  • 那我该如何解决
  • 这与您的 android 代码无关,而是与未正确响应您的请求的 Web 服务有关。确保响应是 json 编码的。
  • 我刚刚编辑了回复,希望对您有所帮助,如果它确实投票。
  • 我更改了我的响应以实现我对服务器端代码所拥有的内容。请帮忙。
猜你喜欢
  • 2015-07-26
  • 1970-01-01
  • 1970-01-01
  • 2015-12-08
  • 2017-12-16
  • 2013-09-14
  • 1970-01-01
  • 2017-09-28
相关资源
最近更新 更多