如何使用 Volley return JSONObject
How to return a JSONObject using Volley
我写了这个方法:
public JSONObject getJSONFromUrl(String url, final Map<String, String> params) {
StringRequest post = new StringRequest(Request.Method.POST, url, new Response.Listener<String>() {
/**
*
* @param response
*/
@Override
public void onResponse(String response) {
try {
JSONObject jsonResponse = new JSONObject(response);
Log.v("JSONParser", "response: " + jsonResponse.toString());
} catch(JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
/**
*
* @param error
*/
@Override
public void onErrorResponse(VolleyError error) {
error.printStackTrace();
}
}) {
/**
*
* @return
* @throws AuthFailureError
*/
@Override
protected Map<String, String> getParams() throws AuthFailureError {
return params;
}
};
Volley.newRequestQueue(this.context).add(post);
return null;
}
我需要 return 我在 onResponse
中创建的 JSONObject
,但我不知道该怎么做。有什么方法可以 return JSONObject 吗?我也无法将 JSONObject 分配给方法内的最终变量,并且 return 它。
如果显示的代码确实有效(根据日志 jsonResponse.toString()
),
我写了这个方法:
public JSONObject getJSONFromUrl(String url, final Map<String, String> params) {
StringRequest post = new StringRequest(Request.Method.POST, url, new Response.Listener<String>() {
/**
*
* @param response
*/
@Override
public void onResponse(String response) {
try {
JSONObject jsonResponse = new JSONObject(response);
Log.v("JSONParser", "response: " + jsonResponse.toString());
} catch(JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
/**
*
* @param error
*/
@Override
public void onErrorResponse(VolleyError error) {
error.printStackTrace();
}
}) {
/**
*
* @return
* @throws AuthFailureError
*/
@Override
protected Map<String, String> getParams() throws AuthFailureError {
return params;
}
};
Volley.newRequestQueue(this.context).add(post);
return null;
}
我需要 return 我在 onResponse
中创建的 JSONObject
,但我不知道该怎么做。有什么方法可以 return JSONObject 吗?我也无法将 JSONObject 分配给方法内的最终变量,并且 return 它。
如果显示的代码确实有效(根据日志 jsonResponse.toString()
),