对象数组转对象

有这样一种情况,很多需求需要从页面传回一个对象数组到控制器

 var obj=[{"name":"xxx","age":"xxx"},{"name":"xxx","age":"xxx"}]
  JSON.stringify(obj)  //就、将数据转成json串传值

那这样控制拿到的就是一个string的字符串,这样很尴尬,难道要截取吗?

也不是不行,可是这样第一很麻烦,第二数据量很大怎么办?

但如果刚好是一个对象,那么控制器可以直接把它转换成实体对象

首先控制器定义一个String类型的字符串拿到页面请求的参数(obj)

@RequestMapping("/XXXX")
@ResponseBody
    public ResultEntity<ServiceMessage> lendtrumbuy(
        String book) {
        JSONArray platformList = JSON.parseArray(obj); 
     //这里完全有可能是多个对象,所以需要循环
for (Object jsonObject : platformList) {
     //每次循环把他转换成给实体对象,到这里就拿到正常的数据了 LoanInfoPageEntity loanEntity
=
     JSONObject.parseObject(jsonObject.toString(), LoanInfoPageEntity.class);
        //这里每次拿到参数可以去条用service, jg
= cploanbuyservice.borrowandbuy(loanEntity, reader.getRecno()); }
//后面就是返回结果去页面,我这里也我用的是工具类,就不写了 }

所以大概转换就两步

  1、JSONArray platformList = JSON.parseArray(obj);   将拿到的参数转换成json数组

  2、LoanInfoPageEntity loanEntity = JSONObject.parseObject(jsonObject.toString(), LoanInfoPageEntity.class);如果是多个就需要循环将它转换成对象

posted @ 2019-05-13 14:42  啊茶丶  阅读(1786)  评论(0编辑  收藏  举报