1

我正在使用带有参数(来自模型类)的 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 类,它具有响应对象的设置器和获取器。

现在的问题是我如何处理响应以将其作为 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");

我该如何处理响应?

4

1 回答 1

0

有一个现有的库 Gson(有点特定于 com.google.Gson)可用于将 JsonObject 转换为 java bean。你可以这样做

RegistrationInfo regInfo = new GSON(json.toString(),RegistrationInfo.class);

Gson 库使用反射方法在内部将 JSON 字符串转换为 Java bean。

于 2016-08-28T14:38:28.123 回答