JSON学习(二)

今天写JSON接口的时候,遇到了些问题,把自己学到的记下来,也希望对大家有帮助。
工具:配置了tomcat的Eclipse和浏览器就可以。
首先,前端需求是希望后端返回如下格式的JSON接口.

{
  "status": 0,
  "msg": "成功",
  "contents":
{ "rows":[
    {
      "recId": 155,   
      "recName": "xxx",
      " payment ": "xxx",

  "area": "xxx",
      "startTime": "2017-03-14 00:00:00",
      "endTime": "2017-03-25 00:00:00",

    "startDateFormat": "3月14日",
      "endDateFormat": "3月25日",
      "applyId": 445,
      "applyStatus": 2,
     "applyStatusValue": "xxx",
      "img": "http://localhost:8080/xxx/xxx/xxx.jpg",

   "logo": "http://localhost:8080/xxx/xxx/xxx.jpg"

},{}]
}
}

http://json.cn/网站上解析后,结构如下:
这里写图片描述
这里写图片描述
这里写图片描述

接下来是实现这个接口的核心代码:

// 封装查询结果集合到JsonArray
    private JSONObject revResultSet2Array(List<Object> objectList,HttpServletRequest request) {
        JSONObject  contents = new JSONObject() ;//生成JSONObject对象,它对应着图一中的Object对象。
        JSONArray jsonArray = new JSONArray();//生成JSONArray数据,它对应着图二的数据Array.
        JSONObject jsonObject;   //它对应着图三中的Array数组里的Object对象,展开的是它的属性。
        for (Object obj : objectList) {
            Object[] objs = (Object[]) obj;
            System.out.println(objs[0] + " - " + objs[1] + " - " + objs[2]);
            jsonObject = new JSONObject();
            //向
            jsonObject.put("xxx", CommUtil.null2Long(objs[0]));   //往该对象里面添加属性值      
            jsonObject.put("xxx", CommUtil.null2String(objs[1])); //往该对象里面添加属性值          
            jsonObject.put("xxx", CommUtil.null2String(objs[1])); //往该对象里面添加属性值
            jsonArray.add(jsonObject);    //往数据里加入对象             
        }
        contents.element("rows", jsonArray);//往对象里加入数组。
        return contents;  
    }

在程序中调用这个方法并传入参数就可以得到JSON对象的返回。我们给前端提供这个接口就可以了。

     @RequestMapping("/applyList")
    @ResponseBody
    public JSONObject findList(HttpServletRequest request, String pageIndex, String pageSize, String status) {
   ret.put("contents",revResultSet2Array(xxx,request));
   }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值