首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android Volley JsonObjectRequest格式:JsonObjectRequest

Android Volley JsonObjectRequest格式:JsonObjectRequest
EN

Stack Overflow用户
提问于 2018-01-31 19:55:12
回答 3查看 427关注 0票数 0

我正在尝试以以下格式发送JsonObjectRequest (GET)参数:

m2=2

我的问题是,我应该得到一个响应-代码200 (OK),如果param1是"1“,param2是"2”。但我总是得到错误的回应代码。所以我认为,请求是以错误的格式发送的。

代码语言:javascript
复制
Map<String, String> params = new HashMap();
            params.put("param1", "1");
            params.put("param2", "2");
            JsonObjectRequest jsObjRequest = new JsonObjectRequest
                    (Request.Method.GET, "http://localhost:8080/xy", new JSONObject(params), new Response.Listener<JSONObject>() {

                        @Override
                        public void onResponse(JSONObject response) {

                        }
                    }, new Response.ErrorListener() {

                        @Override
                        public void onErrorResponse(VolleyError error) {
                            // TODO Auto-generated method stub

                        }
                    });

            // Access the RequestQueue through your singleton class.
            QueueSingleton.getInstance(LoginActivity.this).addToRequestQueue(jsObjRequest);

谢谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-01-31 19:59:42

现在,您将JsonObject(params)作为请求的主体提供,这是不正确的。我不认为Volley会将您提供的JSON对象附加到GET request...so中,您需要自己这样做。

去掉添加post正文的内容,并使用Uri.Builder.appendQueryParameter(键,值)手动在URL上添加params。

票数 0
EN

Stack Overflow用户

发布于 2018-01-31 20:01:38

因为您使用了GET方法,所以尝试使用url (如

代码语言:javascript
复制
int param1Value = 1, param2Value = 2;
String url = "http://localhost:8080/xy?param1=" + param1Value + "&param2=" + param2Value;
票数 0
EN

Stack Overflow用户

发布于 2018-01-31 20:12:27

代码语言:javascript
复制
int p1=1;
int p2= 2;

string url= "http://localhost:8080/xy?param1="+p1+"&param2="+p2;

把这个网址放进你正在使用的网址里。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48550421

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档