2017-10-05 8 views
2

사용자 이름 및 비밀번호와 같은 매개 변수를 보내려고합니다.Android Json 구문 분석 문자열을 json 객체 오류로 변환 할 수 없습니다.

String을 jsonobject로 변환 할 수없는 오류가 발생했습니다. 나는이 happening.Anyone이 PLS 나에게 내 코드를 도움이 무엇을 잘 모릅니다

은 다음과 같습니다 응답이 실제로 문자열이 아닌 JSON 객체 즉 {"object":"value"} 아니라 "object:value"처럼

 JSONObject obj=new JSONObject(); 
      try{ 
      obj.put("username","test"); 
       obj.put("password","test"); 
      } catch (JSONException e) { 
      } 

     JsonObjectRequest jsonObjReq = new JsonObjectRequest(Request.Method.POST, 
       urlJsonObj, obj, new Response.Listener<JSONObject>() { 

      @Override 
      public void onResponse(JSONObject response) { 
       try { 
       } catch (JSONException e) { 
       } 
      } 
     }, new Response.ErrorListener() { 
      @Override 
      public void onErrorResponse(VolleyError error) { 
      } 

     }); 
     // Adding request to request queue 
     AppController.getInstance().addToRequestQueue(jsonObjReq,json_obj_req); 
    } 
+0

어디서 오류가 발생합니까? –

답변

0

. onResponse 메소드가 JSONObject를 받아들이 기 때문에받은 응답이 Json인지 확인하십시오. JSONObject로 변환 할 수없는 String 값을 응답으로받을 수 있습니다.

0

그것은 보인다. 당신도 Stetho, 피들러를 통해 응답을 도청 또는 우편 배달부 (또는 피들러)를 통해 요청을 재현 할 필요가

======================

이것은 귀하의 질문에 대답하지 않지만, 이것은 당신을 대단히 돕고 당신의 삶을 더 쉽게 만듭니다.

Gson 및 Retrofit을 사용하여 HTTP 요청을 만들고 Gson 객체를 쉽게 구문 분석 할 것을 적극 권장합니다. 당신이 된 JSONObject를 만들고 여기에 값을 넣어하는 방법 아무 문제가 없습니다

https://github.com/google/gson

http://square.github.io/retrofit/

+0

json 파싱에 발리를 사용했는데 문제가 있습니까? – Nandhu

+0

개조 및 발리는 동일한 작업을 수행하지만 사용 편의성과 많은 경우 더 빠르게 요구 사항에 맞게 개조 작업을 수행하는 경우가 많습니다. 반환되는 문자열은 JSON 객체가 아닙니다. – ElliotM

+0

"사용하는 것이 좋습니다"!!! 누구에게 추천 했습니까? – Dawit