【问题标题】:How to send a JSON object to a server with Volley如何使用 Volley 将 JSON 对象发送到服务器
【发布时间】:2014-11-06 11:59:51
【问题描述】:

我正在使用 Volley Library 从服务器获取 JSON 数据,但现在,我需要将 JSON 发送到服务器。但我不知道如何发回 JSONArray 或 JSONObject。

我用下一个例子检索数据。

JsonArrayRequest program_from_event = new JsonArrayRequest(URL, new Response.Listener<JSONArray>() {

    @Override
    public void onResponse(JSONArray response) {

        if(response.length() > 0){
            for(int i = 0; i < response.length(); i++){
                try {
                    JSONObject input = response.getJSONObject(i);
                    String name = input.getString("name");
                    String work_area = input.getString("work_area");
                    String email = input.getString("email");
                    String phone = input.getString("phone");
                    String avatar = input.getString("avatar");
                    String description = input.getString("description");
                    int id = input.getInt("id");

                    ...

                } catch (JSONException e) {
                    e.printStackTrace();
                }
            }
        }
    }

}, new Response.ErrorListener(){

    @Override
    public void onErrorResponse(VolleyError error) {
        NetworkResponse nr = error.networkResponse;
        if(nr != null && nr.statusCode == HttpStatus.SC_UNAUTHORIZED){
            Log.i("ERROR", "ERROR");
        }
    }
});

volley_queue.add(program_from_event);

}

我该如何做发送方法?谢谢。

【问题讨论】:

标签: android json send android-volley


【解决方案1】:
protected void callWebService(final User user) {
        pd = ProgressDialog.show(activity, "Please Wait...", "Please Wait...");
        RequestQueue queue = Volley.newRequestQueue(activity);
        JsonObjectRequest jsObjRequest = new JsonObjectRequest(
                Request.Method.POST,url,
                createUserMapperObejct(user),
                new Response.Listener<JSONObject>() {
                    @Override
                    public void onResponse(JSONObject response) {
                        pd.dismiss();
                        Log.v("reponse", "" + response);


                        } catch (JSONException e) {
                            e.printStackTrace();
                        }
                    }
                }, new Response.ErrorListener() {

                    @Override
                    public void onErrorResponse(VolleyError error) {
                    }
                });
        queue.add(jsObjRequest);
    }

public static JSONObject createUserMapperObejct(User user)
    {
        JSONObject request=new JSONObject();
        try {
            request.put(StringConstant.USERNAME, user.getUserName());
            request.put(StringConstant.PASSWORD, user.getPassword());
            request.put(StringConstant.CONFIRMPASSWORD, user.getPassword());
            request.put(StringConstant.EMAILID, user.getEmailId());
            request.put(StringConstant.CONTACTNO, user.getMobileNo());
        } catch (JSONException e) {
            e.printStackTrace();
        }
        return request; 
    }

【讨论】:

  • 谢谢,我去测试一下。
  • 效果很好..谢谢
猜你喜欢
  • 2015-04-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-16
  • 1970-01-01
  • 2018-02-16
  • 1970-01-01
  • 2023-03-21
相关资源
最近更新 更多