数据转换成json数组或者对象传输

后端返回的数据格式是这样的 body:{

ret:{

meta:[{"colName":"采集时间"},{"colName":"列一"},{"colName":"列一阈值"}],

data:[{"采集时间":"2017-07-07","列一":"20170707","列一阈值":"equals20170707"},{"采集时间":"2017-07-04","列一":"20170704","列一阈值":"equals20170704"}] 

    }

  }

由于数据库存的字段是一对多的关系 一个meta 对多个data中的对象可以有多个数据 可以这么认为 meta是一个标题列名 而data是数据是多条数据。数据库存储的字段是这样的 meta就存[{"colName":"采集时间"},{"colName":"列一"},{"colName":"列一阈值"}] 这样的jsonAarray数组一样的数据,而data存储的是对象是这样的{"采集时间":"2017-07-07","列一":"20170707","列一阈值":"equals20170707"}是大括号是对象 因此 meta可以直接读出来而data是需要拼接成数组后再读出来,具体代码如下:

@ResponseBody

@RequestMapping(value="")

public AjaxJson View(HttpServletRequest request){

  AjaxJson j=new AjaxJson();

  String id=request.getParameter("id");//---获取请求时候传过来的值 条件

  String name=request.getParameter("name");

  model  model=service.findbyid(id);// model 是实体类 findbyid是根据条件获取 meta 标题 是一个字段

  List<model> modelList=service.findbyname(name);//----因为data是多条数据所以用list 接受

  JSONArray retListData=new JSONArray();//----JSON数组 申明一个数组

  for(int i=0;i<modelList.size();i++){

    JSONObject obj=JSON.parseObject(modelList.get(i).getValue());//---读取数据 变成JSON 对象 Object

    retListData.add(obj);//---把每次的json对象放入到json数组里  把多个data 对象变成一个数组 输出来

  }

 //retListData 这个数组存储的是data数据就是这样的[{"采集时间":"2017-07-07","列一":"20170707","列一阈值":"equals20170707"},{"采集时间":"2017-07-04","列一":"20170704","列一阈值":"equals20170704"}]

    JSONObject jsonarry=new JSONObject();//---申明一个json对象 放入meta 和 data 数据

    JSONArray  retListjson=JSON.parseArray(model.getmeta());//-----这个是把meta标题放到 json数组中 因为存储就是数组样式所以可以直接放入

    jsonarry.put("meta",retListjson);//----把 retListjson就是把meta放入一个 json对象中

    jsonarry.put("data",retListData);//---把 data也放入同一个json对象中 

    j.put("ret",jsonarray);//---因为 ret 是一个对象 不是数组 所以就直接返回就可以看到上图哪有的返回值了

  return j;

 

 

}

转载于:https://www.cnblogs.com/xzcBY/p/7211100.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值