如何在android中使用volley发送Json post请求?

时间:2015-05-16 10:29:51

标签: android json post gson android-volley

我的服务器以JSON格式接收Post请求,所以我创建了POJO类,我在其中设置数据并使用GSON转换为JSON字符串(toJson()方法)

我在我的应用程序中使用Volley库。如何使用截击发送帖子请求? 我尝试了以下代码:

 Entity object = new Entity();
                        LinkedHashMap<String, Object> properties = new LinkedHashMap<String, Object>(7);
                        properties.put("email",email);
                        properties.put("phone",phone);
                        properties.put("passwd",password);
                        properties.put("name",username);
                        properties.put("crycode","IN");
                        object.setType(EntityType.USER);
                        object.setProperties(properties);
                        Gson gson = new Gson();


                        Map<String,String> headers = new HashMap<String, String>(1);
                        headers.put("Content-Type", "application/json");

                        String url = "my server URL";
 GsonRequest<RegisterResponse> myReq = new GsonRequest<RegisterResponse>(
                                com.android.volley.Request.Method.POST,
                                url,
                                RegisterResponse.class,
                                gson.toJson(object),headers,
                                createMyReqSuccessListener(),
                                createMyReqErrorListener());

                    AppController.getInstance().addToRequestQueue(myReq);

当我的服务器以JSON格式接收请求时,我是否需要将JSON字符串再次转换为JSON对象或者我转换的字符串是否足够?以及如何发送请求?

请帮我解决这个问题。

1 个答案:

答案 0 :(得分:0)

您的POJO课程应该如下所示:

    public class Entity {
    private String email;
    private String phone;
    private String passwd;
    private String name;
    private String crycode;

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getPasswd() {
        return passwd;
    }

    public void setPasswd(String passwd) {
        this.passwd = passwd;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getCrycode() {
        return crycode;
    }

    public void setCrycode(String crycode) {
        this.crycode = crycode;
    }
}

请参阅我忽略了userType,您也可以添加它。然后最后将它交给Gson,它会将此类转换为JSON String。