安卓简单技术-Volley框架JSON解析

Volley 框架的引用

//网络请求
RequestQueue queue;

queue = Volley.newRequestQueue(this);  //获取到volley实例

path="";  //这个就是URL  你要请求的网址。但是要必须返回来的是json数据

 JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(path, null,
            new Response.Listener<JSONObject>() {
                @Override
                public void onResponse(JSONObject response) {
                    // 成功获取数据后将数据显示在屏幕上
                    try {
                        info = response.toString();
                        // info = response.getString("UTF-8");
                    } catch (Exception e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                    Log.e("TAG", path);
                    getinfo(info);
                    Log.e("数据", info + "");
                }
            }, new Response.ErrorListener() {

        @Override
        public void onErrorResponse(VolleyError error) {
            Log.d("TAG", error.getMessage(), error);
        }
    }) {
        @Override
        protected Response<JSONObject> parseNetworkResponse(
                NetworkResponse response) {
            try {
                JSONObject jsonObject = new JSONObject(
                        new String(response.data, "UTF-8"));
                return Response.success(jsonObject, HttpHeaderParser.parseCacheHeaders(response));
            } catch (UnsupportedEncodingException e) {
                return Response.error(new ParseError(e));
            } catch (Exception je) {
                return Response.error(new ParseError(je));
            }
        }
    };
    queue.add(jsonObjectRequest);
}
请求到的数据格式是这样的

{
  "res": 1,
  "msg": "",
  "data": {
    "repair_sent_user_id": "9001",
    "repair_sent_user_name": "xxx",
    "repair_sent_user_phoneno": "155xxxx4659",
    "process_flag": "00011",
    "repair_flag": "4",
    "alm_comment": "修理,请快速过来修理",
    "eqpt_id": "FA",
    "eqpt_name": "xxx",
    "repair_get_user_name": "xxx",
    }

得到数据之后的解析

//获取解析数据
private void getinfo(String str) {
    repair_obj = new ArrayList<>(); 
    try {
        JSONObject JSON_OBJ = new JSONObject(str);
        String data = JSON_OBJ.getString("data");
        JSON_OBJ = new JSONObject(data);
        String user_id= JSON_OBJ.getString("repair_sent_user_id")  //这就是其中的一个字段
	} catch (JSONException e) {
    		e.printStackTrace();
	}

这就就得到了数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值