• 数据转换成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;

    }

  • 相关阅读:
    Linux 下安装配置 JDK7
    win7下virtualbox装linux共享win7文件问题(已测试可用)
    Linix常用命令
    JAVA命令大全
    virtualbox 不能为虚拟电脑打开一个新任务/VT-x features locked or unavailable in MSR.
    VirtualBox下安装rhel5.5 linux系统
    redhat RHEL 5.5 下载地址
    ios开发@selector的函数如何传参数/如何传递多个参数
    U盘10分钟安装linux系统
    史上最浅显易懂的Git分布式版本控制系统教程
  • 原文地址:https://www.cnblogs.com/xzcBY/p/7211100.html
Copyright © 2020-2023  润新知