gpt4 book ai didi

android-volley - 使用 Android Volley 将 Json 请求和响应作为字符串

转载 作者:行者123 更新时间:2023-12-04 06:42:17 25 4
gpt4 key购买 nike

我的情况是使用 Android-volleyPOST我的 json 对象,我可以成功发布所有内容,我的数据在服务器中可见,但服务器响应为 String不像 json ,这就是出现错误的原因。
com.android.volley.ParseError: org.json.JSONException: Value <br of type java.lang.String cannot be converted to JSONObject
那么当我们传递 json 对象时,可以 Volley 解析字符串吗??
我的工作代码如下,

            HashMap<String, String> params = new HashMap<String, String>();
params.put("email", "dude@gmail.com");
params.put("password", "qweffrty");
params.put("name", "Dudeb");
params.put("place", "Bangalore");
params.put("phone", "991000000000");

JsonObjectRequest request = new JsonObjectRequest(
Request.Method.POST,
Constants.BASE_URL+"register",
new JSONObject(params),
createSuccessListener(),
createErrorListener());


private static Response.Listener<JSONObject> createSuccessListener() {
return new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
// TODO parse response

String test;
test = "yyy";
}
};
}

private static Response.ErrorListener createErrorListener() {
return new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
// Log.d(TAG, "Error Response code: " + error.getMessage());
String test;
test = "yyy";
}
};
}

最佳答案

不,因为在实现中查看这些行,在 JsonRequest 中我们有:

public abstract class JsonRequest<T> extends Request<T>
...
abstract protected Response<T> parseNetworkResponse(NetworkResponse response);

在 JsonObjectRequest 中,我们有:
public class JsonObjectRequest extends JsonRequest<JSONObject>

并查看 JsonObjectRequest 中的响应定义:
protected Response<JSONObject> parseNetworkResponse(NetworkResponse response)

所以如果你想使用 volley 库的 JsonObjectRequest,你可以发送 json 并传递 json。您可以改用 StringRequest。

关于android-volley - 使用 Android Volley 将 Json 请求和响应作为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23192644/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com