zoukankan      html  css  js  c++  java
  • 数据转换成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;

    }

  • 相关阅读:
    Unity shader with lightmap
    清理数据库日志
    Sqlserver数据库还原一直显示“正在还原…”解决方法
    如何查看 SQL Server 执行的历史 SQL 语句记录?
    MYSQL 命令行大全 (简洁、明了、全面)
    C#Datatable导入sqlserver数据库中,三种常见,快捷的方法
    MongoDB下载页面
    等级保护和分级保护区别与联系
    等级保护和分级保护
    SQL2005EXPress自动备份
  • 原文地址:https://www.cnblogs.com/xzcBY/p/7211100.html
Copyright © 2011-2022 走看看