2017-08-23 64 views
1

這是程序,但獲取JSON異常。上傳時獲取JSON異常

private void uploadImage(){ 

    String uploadUrl = "http://..........."; 
    StringRequest stringRequest = new StringRequest(Request.Method.POST, uploadUrl, new Response.Listener<String>() { 
     @Override 
     public void onResponse(String response) { 
      try { 
       JSONObject jsonObject = new JSONObject(response); 
       String Response = jsonObject.getString("response"); 
       Toast.makeText(MainActivity.this,Response,Toast.LENGTH_SHORT).show(); 
       mImage.setImageResource(0); 
       mImage.setVisibility(View.GONE); 
       mName.setText(""); 
       mName.setVisibility(View.GONE); 
      } catch (JSONException e) { 
       e.printStackTrace(); 
      } 
     } 
    }, new Response.ErrorListener() { 
     @Override 
     public void onErrorResponse(VolleyError error) { 

     } 
    }) 

    { 
     @Override 
     protected Map<String, String> getParams() throws AuthFailureError { 
      Map<String, String> params = new HashMap<>(); 
      params.put("photo_one",imageString(bitmap)); 
      params.put("mobile",mName.getText().toString().trim()); 

      return params; 
     } 
    }; 
    MySingleton.getInstance(MainActivity.this).addToRequestQue(stringRequest); 

} 

這是我得到的錯誤。

org.json.JSONException:輸入處結束的字符的0在 org.json.JSONTokener.syntaxError(JSONTokener.java:449)在 org.json.JSONTokener.nextValue(JSONTokener.java:97 )at org.json.JSONObject。(JSONObject.java:156)at org.json.JSONObject。(JSONObject.java:173)at com.example.athis.practiceproject4.MainActivity $ 1.onResponse(MainActivity.java: 93)

這是JSONObject jsonObject = new JSONObject(response);線。 有什麼不對?

+0

檢查你的迴應。 –

+0

您的回答有效嗎?並且它是json對象/數組? – Redman

+0

響應字符串的值是什麼 – Ramz

回答

0

嘗試使用下面的代碼;

HashMap<String, String> params = new HashMap<>(); 
    params.put("photo_one",imageString(bitmap)); 
    params.put("mobile",mName.getText().toString().trim()); 

    final ProgressDialog progressDialog = new ProgressDialog(LoginActivity.this); 
    progressDialog.setMessage("Fetching Data...."); 
    progressDialog.show(); 

    JsonObjectRequest req = new JsonObjectRequest(uploadUrl, new JSONObject(params), 
      new Response.Listener<JSONObject>() { 
       @Override 
       public void onResponse(JSONObject response) { 
        progressDialog.dismiss(); 

        String success = (String) response.opt("success"); 
        if (success.equals("1")) 
        { 

         // Do your Task here.... 

        } 
        else 
        { 
         Toast.makeText(getApplicationContext(),"Invalid Username & Password...",Toast.LENGTH_LONG).show(); 
        } 
       } 
      }, new Response.ErrorListener() { 
     @Override 
     public void onErrorResponse(VolleyError error) { 

      progressDialog.dismiss(); 

     } 
    }); 
    RequestQueue requestQueue = Volley.newRequestQueue(this); 
    requestQueue.add(req); 
+0

我應該寫什麼//在這裏做你的任務......?我只想上傳一張圖片和文字,我認爲params.put已經完成了。 –

+0

簡單地把吐司成功地上傳圖片 –

+0

獲取D /排球:[46298] BasicNetwork.logSlowRequests:請求的HTTP響應= <[]什麼是錯的? –

2

org.json.JSONException:在以

你得到一個空的響應的字符輸入0結束。

1

檢查你的迴應是否爲錯誤org.json.JSONException:在的字符0處的輸入結束表示您的響應字符串爲空或0,請首先檢查您的響應字符串。