上传时出现 JSON 异常
Posted
技术标签:
【中文标题】上传时出现 JSON 异常【英文标题】:Getting JSON exception while uploading 【发布时间】:2018-01-31 15:03:35 【问题描述】:这是程序,但出现 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 处输入结束 at org.json.JSONTokener.syntaxError(JSONTokener.java:449) 在 org.json.JSONTokener.nextValue(JSONTokener.java:97) 在 org.json.JSONObject.(JSONObject.java:156) 在 org.json.JSONObject.(JSONObject.java:173) 在 com.example.athis.practiceproject4.MainActivity$1.onResponse(MainActivity.java:93)
JSONObject jsonObject = new JSONObject(response)
;线。
怎么了?
【问题讨论】:
检查您的回复。 您的回复有效吗?它是 json 对象/数组吗? 响应字符串的值是多少 【参考方案1】:org.json.JSONException: 在字符 0 处输入结束
你得到一个空的响应。
【讨论】:
【参考方案2】:检查您的响应是否为错误org.json.JSONException: End of input at character 0 of at 表示您的响应字符串为空或 0,请先检查您的响应字符串。
【讨论】:
【参考方案3】:尝试使用下面的代码;
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);
【讨论】:
我应该在 // Do your Task here... 中写些什么?我只想上传一张图片和文字,我认为 params.put 已经完成了。 只需将 Toast 放在那里即可成功上传图片 获取 D/Volley:[46298] BasicNetwork.logSlowRequests:请求的 HTTP 响应=以上是关于上传时出现 JSON 异常的主要内容,如果未能解决你的问题,请参考以下文章
2021-12-16 使用MultipartFile上传文件时出现异常
2021-12-16 使用MultipartFile上传文件时出现异常