Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Volley是否具有JSON参数、字符串响应本机支持

Volley是否具有JSON参数、字符串响应本机支持
EN

Stack Overflow用户
提问于 2016-07-29 05:25:22
回答 2查看 282关注 0票数 0

我想发出一个服务器POST请求,发送一个JSON有效负载,并接收一个字符串响应。我到处寻找,似乎没有一种简单的方法来使用Volley库来做到这一点,而不是实现一个自定义请求(当我试图实现它时,我完全迷失了它)。执行此POST请求的“正确”方法是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-07-29 06:02:18

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    final JSONObject body = new JSONObject();
    try {
        // Todo: populate JSON body
    } catch (JSONException e) {
        e.printStackTrace();
    }

    StringRequest stringRequest = new StringRequest(Request.Method.POST, "http://...",
            new Response.Listener<String>() {
                @Override
                public void onResponse(String response) {

                }
            },
            new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError error) {

                }
            }
    ) {
        @Override
        public byte[] getBody() throws AuthFailureError {
            return body.toString().getBytes();
        }

        @Override
        public String getBodyContentType() {
            return "application/json";
        }
    };

    RequestQueue requestQueue = Volley.newRequestQueue(this);
    requestQueue.add(stringRequest);
票数 1
EN

Stack Overflow用户

发布于 2016-07-29 05:49:44

Volley有JsonObjectRequest和JsonArrayRequest。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 /**
     * Making json object request
     * */
    public void makeJsonObjReq(String url) {

        JsonObjectRequest jsonObjReq = new JsonObjectRequest(Request.Method.GET,
                url,
                new Response.Listener<JSONObject>() {

                    @Override
                    public void onResponse(JSONObject response) {
                        Log.d(TAG, response.toString());
//                      msgResponse.setText(response.toString());

                    }
                }, new Response.ErrorListener() {

            @Override
            public void onErrorResponse(VolleyError error) {
                VolleyLog.d(TAG, "Error: " + error.getMessage());

            }
        }) {

            /**
             * Passing some request headers
             * */
            @Override
            public Map<String, String> getHeaders() throws AuthFailureError {
                HashMap<String, String> headers = new HashMap<String, String>();
                headers.put("Content-Type", "application/json");
                return headers;
            }

            @Override
            protected Map<String, String> getParams() {
                Map<String, String> params = new HashMap<String, String>();
                params.put("name", "android@android.com");
                return params;
            }

        };

        // Adding request to request queue
        ApplicationController.getInstance().addToRequestQueue(jsonObjReq,
                tag_json_obj);

        // Cancelling request
        // ApplicationController.getInstance().getRequestQueue().cancelAll(tag_json_obj);
    }



 /**
     * Making json array request
     * */
    public void makeJsonArryReq(String url, final int _type) {

        JsonArrayRequest req = new JsonArrayRequest(url,
                new Response.Listener<JSONArray>() {
                    @Override
                    public void onResponse(JSONArray response) {
                        Log.d(TAG, response.toString());
                        apiTaskListener.onTaskComplete("error",_type);


                    }
                }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                VolleyLog.d(TAG, "Error: " + error.getMessage());
                apiTaskListener.onTaskComplete("error",_type);

            }
        });

        // Adding request to request queue
        ApplicationController.getInstance().addToRequestQueue(req,
                tag_json_arry);

        // Cancelling request
        // ApplicationController.getInstance().getRequestQueue().cancelAll(tag_json_arry);
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38651055

复制
相关文章
Python是否支持复制字符串呢?
连续几篇文章都在写 Python 字符串,这出乎我的意料了。但是,有的问题,不写不行,特别是那种灵机一动想到的问题,最后你发现,很多人根本不懂却又误以为自己懂了。那就继续刨根问底,探究个明白吧。
Python猫
2019/04/10
6900
Android训练课程(Android Training) - 使用Volley传输网络数据(Transmitting Network Data Using Volley)
Volley 是一个 HTTP 库,它使得在Android应用程序中操作网络更容易,是重要的,更多快速的。Volley 属于“开放源代码项目”。.
张云飞Vir
2020/03/16
2.2K0
@ResponseBody响应JSON 406
搭建SpringMVC(4.1),但是搭建完成以后发现使用@ResponseBody的ajax无法访问,总是出现406的问题。 首先怀疑的是配置问题,经过查明,影响SpringMVC的@ResponseBody注解的是:         <mvc:annotation-driven />,我发现我的配置中存在这个注解。同时又使用Spring文档中的自动配置相关解析类的方式再进行测试,发现还是没有解决问题。 同时在网上找到相关问题,发现是缺失jackson的jar。 <dependency>         
冷冷
2018/02/08
1.1K0
C#判断本机是否连接互联网
在日常开发中,我们可能遇到一些问题,需要判断电脑是否接入网络,从而来判断是否执行程序。
JanYork_简昀
2022/03/29
9680
C#判断本机是否连接互联网
检查Android是否具有摄像头
通常我们进行摄像头操作,如扫描二维码需要判断是否有后置摄像头(Rear camera),比如Nexus 7 一代就没有后置摄像头,这样在尝试使用的时候,我们需要进行判断进行一些提示或者处理。
技术小黑屋
2018/09/04
1K0
基于开源项目搭建属于自己的技术堆栈
在技术面试的时候肯定都会问到使用了哪些第三方框架,为什么使用它而不用其他的。身边朋友就有这样的亲身经历: 面试官:你们项目中加载图片都是用的什么框架? 面试者:Glide 啊(内心窃喜) 面试官:为什
非著名程序员
2018/02/09
1.9K0
基于开源项目搭建属于自己的技术堆栈
SpringMVC ResponseBody响应json数据
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
多凡
2019/11/01
8280
json字符串转换为Json对象_前端字符串转json
参考网上的文章,做了一个关于json的总结,进行留存帮助以后阅读,希望可以帮助到大家。
全栈程序员站长
2022/09/28
7.6K0
笔记12 | 复习Volley(一)基本概念和用法
地址 CSDN 地址:http://blog.csdn.net/xiangyong_1521/article/details/50477748郭霖:http://blog.csdn.net/guolinblog/article/details/17482095 Android开发团队为了将HTTP的通信操作进行简单化,在2013年Google I/O大会上推出了一个新的网络通信框架——Volley。 优点:Volley可是说是把AsyncHttpClient和Universal-Image-Loader的
项勇
2018/06/19
8370
fastapi 响应模型 / 响应状态码 / 表单参数
learn from https://fastapi.tiangolo.com/zh/tutorial/response-model/
Michael阿明
2022/01/07
9000
fastapi 响应模型 / 响应状态码 / 表单参数
rbd是否支持注入
引子 很多 OpenStack 与 Ceph 部署集成的文档都会告诉你,libivrt 的文件和密码注入是在 Ceph 上面是不支持的。需要使用下面的配置文件关闭。 但是真的只是不支持这么简单么? 首
企鹅号小编
2018/01/10
1.5K0
rbd是否支持注入
Volley请求
1. Volley简介 我们平时在开发Android应用的时候不可避免地都需要用到网络技术,而多数情况下应用程序都会使用HTTP协议来发送和接收网络数据。Android系统中主要提供了两种方式来进行HTTP通信,HttpURLConnection和HttpClient,几乎在任何项目的代码中我们都能看到这两个类的身影,使用率非常高。 不过HttpURLConnection和HttpClient的用法还是稍微有些复杂的,如果不进行适当封装的话,很容易就会写出不少重复代码。于是乎,一些Android网络通
xiangzhihong
2018/01/30
1.8K0
Spring Batch JSON 支持
Spring Batch 4.1 开始能够支持 JSON 格式了。这个发布介绍了一个新的数据读(item reader)能够读取一个 JSON 资源,这个资源按照下面的格式:
HoneyMoose
2019/01/19
8190
通过SpringMVC框架响应JSON数据
在SpringMVC框架(含SpringBoot框架)中,当处理请求的方法之前添加了@ResponseBody后,或在控制器类之前使用的是@RestController,处理请求的方法的返回值将作为响应到客户端的数据。
海拥
2021/08/23
1.2K0
Python判断是否json是否包含一个
jsonObject 是个json if (key in jsonObject) : print '有' else:     print '没有'
py3study
2020/01/09
2.7K0
Android Volley完全解析(一),初识Volley的基本用法
本文主要介绍了Volley网络库的基本用法,包括StringRequest、JsonObjectRequest和JsonArrayRequest的使用,以及如何使用Volley发送JSON格式的数据。通过实例,详细讲解了Volley网络库的用法,为Android网络通信提供了另一种实现方案。
用户1158055
2018/01/05
1.8K0
Android Volley完全解析(一),初识Volley的基本用法
Go Web编程--解析JSON请求和生成JSON响应
现在无论是网站、App、小程序还是移动端H5页面应用,都是采用前端与后端单独部署,相互之间以API接口交互的形式构建而成的。因为在结合可读性、编码数据大小和开发者使用难度上都JSON格式是一个比较好的选择,所以接口的数据格式通常都采用JSON,即前端在发送POST,PUT,PATCH请求添加,更改数据时会把数据以JSON格式放到请求的Body中。而后端则是所有数据都会以JSON格式返回。
KevinYan
2020/04/08
3.8K0
Android框架之Volley与Glide
PS:在看到这个题目的同时,你们估计会想,Volley与Glide怎么拿来一块说呢,他们虽然不是一个框架,但有着相同功能,那就是图片处理方面。首先我们先来看一下什么volley,又什么是glide。 Volley是Google官方出的一套小而巧的异步请求库,该框架封装的扩展性很强,支持OkHttp,Volley里面也封装了ImageLoader,自身作为图片加载框架,不过这块功能没有一些专门的图片加载框架强大,对于简单的需求可以使用,对于稍复杂点的需求还是需要用到专门的图片加载框架。Volley也有缺陷,比
cMusketeer
2018/06/14
1.3K0
点击加载更多

相似问题

windows是否支持本机响应?

35

Volley JSON响应

22

云修复支持是否响应本机

46

是否响应本机支持CSS网格?

10

是否响应本机支持索引DB?

53
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文