如何解决价值与LT; java.lang.String类型的BR不能转换为JSONObject的? [英] How to solve Value <br of type java.lang.String cannot be converted to JSONObject?

查看:176
本文介绍了如何解决价值与LT; java.lang.String类型的BR不能转换为JSONObject的?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图将数据发送到服务器和我的应用程序崩溃,并显示此错误任何一个可以帮我这个........

 错误解析dataorg.json.JSONException:值< BR java.lang.String类型的,不能被转换为JSONObject的
10月12日至10日:54:46.630:W / dalvikvm(870):主题ID = 11:螺纹未捕获的异常(组= 0x409961f8)退出
 致命异常:AsyncTask的#1
 了java.lang.RuntimeException:执行doInBackground发生错误()
    在android.os.AsyncTask $ 3.done(AsyncTask.java:278)
    在java.util.concurrent.FutureTask中$ Sync.innerSetException(FutureTask.java:273)
    在java.util.concurrent.FutureTask.setException(FutureTask.java:124)
    在java.util.concurrent.FutureTask中$ Sync.innerRun(FutureTask.java:307)
    在java.util.concurrent.FutureTask.run(FutureTask.java:137)
    在android.os.AsyncTask $ SerialExecutor $ 1.run(AsyncTask.java:208)
    在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
    在java.util.concurrent.ThreadPoolExecutor中的$ Worker.run(ThreadPoolExecutor.java:569)
    在java.lang.Thread.run(Thread.java:856)
 显示java.lang.NullPointerException:产生的原因
    在info.androidhive.slidingmenu.RegistrationForm $ AttemptLogin.doInBackground(RegistrationForm.java:435)
    在info.androidhive.slidingmenu.RegistrationForm $ AttemptLogin.doInBackground(RegistrationForm.java:1)
    在android.os.AsyncTask $ 2.call(AsyncTask.java:264)
    在java.util.concurrent.FutureTask中$ Sync.innerRun(FutureTask.java:305)
    ... 5个
 活动info.androidhive.slidingmenu.RegistrationForm已泄漏,最初这里添加窗口com.android.internal.policy.impl.PhoneWindow$DecorView@41888e70
 android.view.WindowLeaked:活动info.androidhive.slidingmenu.RegistrationForm渗漏,最初这里添加窗口com.android.internal.policy.impl.PhoneWindow$DecorView@41888e70
    在android.view.ViewRootImpl<&初始化GT;(ViewRootImpl.java:343)
    在android.view.WindowManagerImpl.addView(WindowManagerImpl.java:245)
    在android.view.WindowManagerImpl.addView(WindowManagerImpl.java:193)
    在android.view.WindowManagerImpl $ CompatModeWrapper.addView(WindowManagerImpl.java:118)
    在android.view.Window $ LocalWindowManager.addView(Window.java:537)
    在android.app.Dialog.show(Dialog.java:274)
    在info.androidhive.slidingmenu.RegistrationForm $ AttemptLogin.on preExecute(RegistrationForm.java:375)
    在android.os.AsyncTask.executeOnExecutor(AsyncTask.java:561)
    在android.os.AsyncTask.execute(AsyncTask.java:511)
    在info.androidhive.slidingmenu.RegistrationForm.onClick(RegistrationForm.java:291)
    在android.view.View.performClick(View.java:3480)
    在android.view.View $ PerformClick.run(View.java:13983)
    在android.os.Handler.handleCallback(Handler.java:605)
    在android.os.Handler.dispatchMessage(Handler.java:92)
    在android.os.Looper.loop(Looper.java:137)
    在android.app.ActivityThread.main(ActivityThread.java:4340)
    在java.lang.reflect.Method.invokeNative(本机方法)
    在java.lang.reflect.Method.invoke(Method.java:511)
    在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:784)
    在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
    在dalvik.system.NativeStart.main(本机方法)

在这里<一检查我的code href=\"http://stackoverflow.com/questions/27393384/how-to-send-data-from-android-to-php-server-using-json?noredirect=1#comment43233981_27393384\">How使用JSON在Android的数据发送到PHP服务器?


解决方案

在logcat中的这一部分:


  

错误解析dataorg.json.JSONException:值 &LT; BR java.lang.String类型不能


所有最喜欢你打一个突破标记&LT; BR /&GT; 。问题是,你没有得到任何 JSON 数据。

您需要调查原因,可能的原因:


  1. 网络问题

  2. 权限问题

  3. 无效响应


 类AttemptLogin扩展的AsyncTask&LT;字符串,字符串,字符串&GT; {
    布尔失败= F​​ALSE;    @覆盖
    在preExecute保护无效(){
        super.on preExecute();
        ....
    }    @燮pressWarnings(未使用)
    @覆盖
    保护字符串doInBackground(字符串参数... args){
        .....
        尝试{
            //大厦参数
            .....            JSON = jsonParser.makeHtt prequest(
            LOGIN_URL,POST,则params);
            Log.d(请求尝试,json.toString());
            JSONObject的jobj =新的JSONObject(json.toString());
            返回jobj;        }赶上(JSONException E){
            e.printStackTrace();
        }
        返回null;
    }    保护无效onPostExecute(JSONObject的jobj){
        pDialog.dismiss();
        尝试{
            如果(jobj.getString(TAG_SUCCESS)){
                最后弦乐味精= jobj.getString(味精);
                Toast.makeText(
                      getApplicationContext(),味精,Toast.LENGTH_LONG)
                     。显示();
            }其他{
                的System.out.println(FAIL !!);
            }        }赶上(JSONException E){
            e.printStackTrace();
        }
    }
}

I am trying to send data to server and my application crash and show this error can any one help me with this........

 Error Parsing dataorg.json.JSONException: Value <br of type java.lang.String cannot be converted to JSONObject
12-10 10:54:46.630: W/dalvikvm(870): threadid=11: thread exiting with uncaught exception (group=0x409961f8)
 FATAL EXCEPTION: AsyncTask #1
 java.lang.RuntimeException: An error occured while executing doInBackground()
    at android.os.AsyncTask$3.done(AsyncTask.java:278)
    at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273)
    at java.util.concurrent.FutureTask.setException(FutureTask.java:124)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307)
    at java.util.concurrent.FutureTask.run(FutureTask.java:137)
    at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:208)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
    at java.lang.Thread.run(Thread.java:856)
 Caused by: java.lang.NullPointerException
    at info.androidhive.slidingmenu.RegistrationForm$AttemptLogin.doInBackground(RegistrationForm.java:435)
    at info.androidhive.slidingmenu.RegistrationForm$AttemptLogin.doInBackground(RegistrationForm.java:1)
    at android.os.AsyncTask$2.call(AsyncTask.java:264)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
    ... 5 more
 Activity info.androidhive.slidingmenu.RegistrationForm has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@41888e70 that was originally added here
 android.view.WindowLeaked: Activity info.androidhive.slidingmenu.RegistrationForm has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@41888e70 that was originally added here
    at android.view.ViewRootImpl.<init>(ViewRootImpl.java:343)
    at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:245)
    at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:193)
    at android.view.WindowManagerImpl$CompatModeWrapper.addView(WindowManagerImpl.java:118)
    at android.view.Window$LocalWindowManager.addView(Window.java:537)
    at android.app.Dialog.show(Dialog.java:274)
    at info.androidhive.slidingmenu.RegistrationForm$AttemptLogin.onPreExecute(RegistrationForm.java:375)
    at android.os.AsyncTask.executeOnExecutor(AsyncTask.java:561)
    at android.os.AsyncTask.execute(AsyncTask.java:511)
    at info.androidhive.slidingmenu.RegistrationForm.onClick(RegistrationForm.java:291)
    at android.view.View.performClick(View.java:3480)
    at android.view.View$PerformClick.run(View.java:13983)
    at android.os.Handler.handleCallback(Handler.java:605)
    at android.os.Handler.dispatchMessage(Handler.java:92)
    at android.os.Looper.loop(Looper.java:137)
    at android.app.ActivityThread.main(ActivityThread.java:4340)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:511)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
    at dalvik.system.NativeStart.main(Native Method)

check my code here How to send data from android to php server using json?

解决方案

This part of the logcat :

Error Parsing dataorg.json.JSONException: Value <br of type java.lang.String cannot

All most like you hit a break tag <br />. The issue is that you are not getting any JSON data.

You need to investigate why, possible reasons:

  1. Network issue
  2. Permission issue
  3. Invalid response


class AttemptLogin extends AsyncTask<String, String, String> {
    boolean failure = false;

    @Override
    protected void onPreExecute() {
        super.onPreExecute();
        ....
    }

    @SuppressWarnings("unused")
    @Override
    protected String doInBackground(String...args) {
        .....
        try {
            //Building Parameters
            .....

            json = jsonParser.makeHttpRequest (
            LOGIN_URL, "POST", params);
            Log.d("Request attempt", json.toString());
            JSONObject jobj = new JSONObject(json.toString());
            return jobj;

        }catch (JSONException e) {
            e.printStackTrace();
        }
        return null;
    }

    protected void onPostExecute(JSONObject jobj) {
        pDialog.dismiss();
        try {
            if(jobj.getString(TAG_SUCCESS)){
                final String msg = jobj.getString("msg");
                Toast.makeText(
                      getApplicationContext(),msg, Toast.LENGTH_LONG)
                     .show();
            }else{
                System.out.println("FAIL !!");
            }

        }catch (JSONException e) {
            e.printStackTrace();
        }


    }
}

这篇关于如何解决价值与LT; java.lang.String类型的BR不能转换为JSONObject的?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆