我有一个登录活动,它接收电子邮件和密码并以此格式返回一个令牌。
{
"token":"your_token_here"
}
我已经实现了帖子请求,但它确实有效。在日志上我可以看到它。我的问题是如何将其作为json对象读取并将其保存到共享首选项中?如果登录不正确但我们还没有其他响应,但它们不是状态代码。 例如:
{
"non_field_errors":"credentials not provided"
}
如何获取这些回复,以便我可以在对话框中显示它们。
答案 0 :(得分:1)
如果您正在使用POST
JSONObject obj = new JSONObject();
obj.put("key","value"); // Request parameters to be send with post request
RequestQueue.add(new JsonObjectRequest(
Request.Method.POST,
"url",
obj , // the request body, which is a JsonObject otherwise null
new Response.Listener<JSONObject>() {
@Override public void onResponse(JSONObject response) {
String token = response.optString("token");
}
},
new Response.ErrorListener() {
@Override public void onErrorResponse(VolleyError error) {
// Handle error here
}
}
));
答案 1 :(得分:0)
使用volley的JsonObjectRequest
。
RequestQueue.add(new JsonObjectRequest(
Request.Method.POST,
"your url",
null, // the request body, which is a JsonObject
new Response.Listener<JSONObject>() {
@Override public void onResponse(JSONObject response) {
// ok, do your job
}
},
new Response.ErrorListener() {
@Override public void onErrorResponse(VolleyError error) {
// fail, you may need to get the error response body if the server return http status code >= 400 when request fail
}
}
));