我正在使用带参数的JsonObjectRequest进行发布请求(来自模型类)。看起来像,
SignUpRequest registrationRequest = new SignUpRequest();
registrationRequest.setFirstName("fdffdfd");
registrationRequest.setLastName("bbbbbb");
registrationRequest.setEmail("Testing@kjkjgmail.com");
registrationRequest.setDateOfBirth("1991-5-21");
Gson gson = new Gson();
String jsonString = gson.toJson(registrationRequest);
JSONObject parameters = null;
try {
parameters = new JSONObject(jsonString);
} catch (JSONException e) {
e.printStackTrace();
}
JsonObjectRequest postRequest = new JsonObjectRequest(Request.Method.POST, uri, parameters,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
Log.v("MainActivity", "In response :");
updateDisplayRegistration(response);
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.d("MainActivity", "In failure :");
error.printStackTrace();
}
});
RequestQueue requestQueue = Volley.newRequestQueue(this);
requestQueue.add(postRequest);
SignUpRequest类我有setter和getter方法。就像响应方式一样,我也有RegistrationInfo类,它有响应对象的setter和getter。
现在问题是如何处理响应以将其作为RegistrationInfo类对象。
protected void updateDisplayRegistration(JSONObject json){
RegistrationInfo regInfo = new RegistrationInfo(json.toString());
Log.v("MainActivity","registered email is ::::: ---- ::: " + regInfo.getEmail());
}
但它返回null。即使我直接尝试使用json对象,它也没有返回任何值。
赞,json.getString("email");
我如何处理回复?
答案 0 :(得分:0)
现有的库Gson(有点特定的com.google.Gson)可用于将JsonObject转换为java bean。你可以这样做
RegistrationInfo regInfo = new GSON(json.toString(),RegistrationInfo.class);
Gson库使用反射方法在内部将JSON字符串转换为Java bean。