ERROR Volley Library com.android.volley.ParseError: org.json.JSONException:

五迷三道 提交于 2019-12-24 11:19:25

问题


I try to do a PUT request using Volley Library. I already did get request and put request usin g Override methode getParam(), but for this request i need to send a jsonOjbect that i created before.

But in the response i have :

08-25 09:44:34.638: I/ViewPdf:  SaveDataToProxy ERROR(8512): 
error: com.android.volley.ParseError: org.json.JSONException: Value <br of type 
java.lang.String cannot be converted to JSONObject

So this is my method connection :

public void SaveDataToProxy(JSONObject jsonObject){

    // Tag used to cancel the request
    String tag_json_obj = "json_obj_req";

    String url = Properties.getUrl_proxy() + ":" + Properties.getPort_proxy() +"/api/points/"+this.id_point;
    Log.i("url",url); 

    final ProgressDialog pDialog = new ProgressDialog(this);
    pDialog.setMessage("Loading...");
    pDialog.show(); 

    JsonObjectRequest jsObjRequest = new JsonObjectRequest
    (
            Request.Method.PUT, url, jsonObject, new Response.Listener<JSONObject>()
            {
                @Override
                public void onResponse(JSONObject response)
                {
                        Log.i(TAG + ":  SaveDataToProxy SUCCESS", "response: " + response);
                }

            }, new Response.ErrorListener() 
            {
                @Override
                public void onErrorResponse(VolleyError error) 
                {
                    Log.i(TAG + ":  SaveDataToProxy ERROR", "error: " + error);
                }
             }
    )

    {
        @Override
        public Map<String, String> getHeaders() throws AuthFailureError 
        {
            HashMap<String, String> headers = new HashMap<String, String>();
            headers.put("Content-type", "application/json");

            return headers;
        }
    };

    AppController.getInstance().addToRequestQueue(jsObjRequest, tag_json_obj); 
}

and this is the JSONObject.toString() that i send :

{
"depositProduct": [
    null
],
"collectionProduct": [
    null
],
"status": 1,
"end_hour": "04:00:00",
"type": "COLLECTION",
"id": 1,
"collector": "{\"address\":\"14 Rue de la serviellier\",\"city\":\"Germs-sur-l\\u0027oussouet\",\"fax\":\"0380910303\",\"zip_code\":\"65451\",\"transit_date\":\"2014-08-25 00:00:00\",\"name\":\"Jeanjean\",\"tel\":\"0643665316\",\"siret\":\"73282932000074\",\"weight\":0.0,\"volume\":0.0,\"id_erp\":20,\"point_id\":1,\"quantity\":0,\"id\":1}",
"closed_client": false,
"id_erp": 111,
"miscellaneous": "inf test2",
"infos": "test tablette",
"downtime": "2",
"form_type": "cerfa11352_02",
"sequence": 1,
"producer": "{\"address\":\"207 rue charles de gaulle\",\"city\":\"Montbard\",\"email\":\"Dupond.patrick@gmail.com\",\"fax\":\"0380954609\",\"zip_code\":\"21500\",\"id_erp\":\"C10018-1\",\"name\":\"Foyer mutualisteZZ\",\"waste_code\":\"215004\",\"waste_adr\":\"un 3291 Dechet d\\u0027hopital non specifie, NSA, 6.2II\",\"signature\":\"/mnt/sdcard/tour_1/point_1/producer_1.png\",\"siret\":\"73282932000074\",\"tel\":\"0380915454\",\"transit_date\":\"2014-08-25 00:00:00\",\"volume\":0.0,\"weight\":0.0,\"point_id\":1,\"quantity\":0,\"id\":1}",
"no_waste": false,
"factory": "{\"address\":\"Usine d\\u0027incineration les bouillots\",\"city\":\"Bayet\",\"fax\":\"0470456168\",\"zip_code\":\"03500\",\"name\":\"LUCANE\",\"tel\":\"0470454857\",\"siret\":\"97596145524658\",\"signature\":\"/mnt/sdcard/tour_1/point_1/factory_1.png\",\"refusal_support_reason\":\"0\",\"weight\":0.0,\"volume\":0.0,\"point_id\":1,\"operation_type\":0,\"id_erp\":31,\"quantity\":0,\"refusal_support\":0,\"id\":1}",
"id_tour": 1,
"begin_hour": "06:00:00",
"internal_error": false
}

i hope that you will can help me =)

EDIT 1 : This is my full stack trace , we can see just the connection , and nothing of very important...

08-25 10:21:03.106: D/Volley(29845): [195] BasicNetwork.logSlowRequests: HTTP response   for request=<[ ]
 http://192.168.0.60:80/api/points/1 0x6768b5f7 NORMAL 5>
 [lifetime=6891],   [size=7531], [rc=200], [retryCount=1]
08-25 10:21:03.106: I/ViewPdf:  SaveDataToProxy ERROR(29845): error:    com.android.volley.ParseError: org.json.JSONException: Value <br of type java.lang.String   cannot be converted to JSONObject
08-25 10:21:03.106: D/Volley(29845): [1] Request.finish: 6894 ms: [ ]     http://192.168.0.60:80/api/points/1 0x6768b5f7 NORMAL 5

回答1:


This is not your problem this is server side problem, the server dose not return valid json to you. it actually returns you html code, in order to see what exactly it returns just install add on for broswer for example RESTClient for mozilla and send your request to the server by corresponding type(post-get-...) then see server result.



来源:https://stackoverflow.com/questions/25483379/error-volley-library-com-android-volley-parseerror-org-json-jsonexception

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!