没有从在线服务器获得json响应

时间:2016-04-23 11:51:56

标签: php android json android-studio background-task

所以我在这里看到了这个教程https://www.youtube.com/watch?v=mdAXqQoADt8(最后一部分)当我引用我的本地服务器时,一切都工作得非常好。

现在我将其切换到在线服务器/数据库,以测试它是否以相同的方式工作。此外,除了 onPostExecute 方法中的json响应之外,一切正常。我没有收到注册或登录的消息。我真的无法弄清楚如何解决这个问题,我不明白为什么当我把它切换到在线服务器/数据库时它的工作方式不同。

希望这里的任何人都可以帮助我。我将在下面发布一些代码,也许有人可以在不完成整个教程的情况下解决它。

感谢任何帮助!

@Override
    protected void onPostExecute(String json) {

        try {
            Log.d("JSON-String",json+"");
            progressDialog.dismiss();
            JSONObject jsonObject = new JSONObject(json);
            JSONArray jsonArray = jsonObject.getJSONArray("server_response");
            JSONObject JO = jsonArray.getJSONObject(0);
            String code = JO.getString("code");
            String message = JO.getString("message");
            if (code.equals("reg_true"))
            {
                showDialog("Registrierung erfolgt.", message, code);
            }
            else if (code.equals("reg_false"))
            {
                showDialog("Registrierung fehlgeschlagen", message, code);
            }

            else if(code.equals("login_true"))
            {
                Intent intent = new Intent(activity, Talkscreen.class);                                        //SPÄTER WIEDER RAUSNEHMEN
                activity.startActivity(intent);
                activity.finish();
            }
            else if (code.equals("login_false"))
            {
                showDialog("Login fehlgeschlagen", message,code);
            }
        } catch (JSONException e) {
            e.printStackTrace();
        }


    }

1 个答案:

答案 0 :(得分:1)

您似乎从服务器获取了错误的JSON字符串。

2905-2905/com.appmac.ron.testapp W/System.err: org.json.JSONException: Value <h3>DB< of type java.lang.String cannot be converted to JSONObject
04-23 12:35:53.172 2905-2905/com.appmac.ron.testapp W/System.err:     at org.json.JSON.typeMismatch(JSON.java:111)
04-23 12:35:53.172 2905-2905/com.appmac.ron.testapp W/System.err:     at org.json.JSONObject.<init>(JSONObject.java:160)
04-23 12:35:53.172 2905-2905/com.appmac.ron.testapp W/System.err:     at org.json.JSONObject.<init>(JSONObject.java:173)
04-23 12:35:53.172 2905-2905/com.appmac.ron.testapp W/System.err:     at com.appmac.ron.testapp.ServerKlassen.BackgroundTask.onPostExecute(BackgroundTask.java:172)
04-23 12:35:53.172 2905-2905/com.appmac.ron.testapp W/System.err:     at com.appmac.ron.testapp.ServerKlassen.BackgroundTask.onPostExecute(BackgroundTask.java:39)
04-23 12:35:53.172 2905-2905/com.appmac.ron.testapp W/System.err:     at android.os.AsyncTask.finish(AsyncTask.java:651)
04-23 12:35:53.172 2905-2905/com.appmac.ron.testapp W/System.err:     at android.os.AsyncTask.-wrap1(AsyncTask.java)
04-23 12:35:53.172 2905-2905/com.appmac.ron.testapp W/System.err:     at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:668)
04-23 12:35:53.172 2905-2905/com.appmac.ron.testapp W/System.err:     at android.os.Handler.dispatchMessage(Handler.java:102)
04-23 12:35:53.172 2905-2905/com.appmac.ron.testapp W/System.err:     at android.os.Looper.loop(Looper.java:148)
04-23 12:35:53.172 2905-2905/com.appmac.ron.testapp W/System.err:     at android.app.ActivityThread.main(ActivityThread.java:5417)
04-23 12:35:53.172 2905-2905/com.appmac.ron.testapp W/System.err:     at java.lang.reflect.Method.invoke(Native Method)
04-23 12:35:53.172 2905-2905/com.appmac.ron.testapp W/System.err:     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
04-23 12:35:53.172 2905-2905/com.appmac.ron.testapp W/System.err:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
  

以上错误显示无法将String转换为JSON对象。

检查服务器代码是否有任何错误。