首页 新闻 搜索 专区 学院

springmvc返回json数据问题

0
悬赏园豆:5 [已解决问题] 解决于 2015-12-04 13:12

 {"state":1,

  "price_ladder": [


        {


            "amount": 5,


            "price": 23,


            "formated_price": "¥23.00元"


        },


        {


            "amount": 10,


            "price": 20,


            "formated_price": "¥20.00元"


        }


    ]

}

 

 

如上的例子,我要返回类似上面格式的数据,怎么处理呢?

 @ResponseBody
    public  Map<String,Object> loadMap() {
        
        Map<String,Object> map = new HashMap<String,Object>();
        map.put("state", 1);
        map.put("list", mapService.findAll());
        return map;
    }

findAll返回的是一个集合,集合中有所有需要的字段。

但是结果却是这样:

{"state":1,"list":["ETohOXuwR","甘肃金昌热电厂","AcXit1rCQD","二车间一号机组",0.0,0.0,"http://basdasd.com","pXcuFLXAR6aqS/","北京有限公司","QZqRPO8wS3","华能淮阴电厂6#出口",0.0,0.0,"http://basdasd.com"]}

怎么处理我得到集合才能转换成上面要求的数据格式呢?

求大神帮忙指点

问题补充:

所需要的所有字段是四张表联合查询查出来的;

实体类是用数据库自动生成的,最后查出来的是一个集合;

现在我不知道怎么写才能将结果集变成目标的格式?

 

冰原小白狼的主页 冰原小白狼 | 菜鸟二级 | 园豆:202
提问于:2015-12-02 19:05
< >
分享
最佳答案
0

你查询的实体和你需要显示的实体字段名称不相同,你做一下转换即可。。

class B { private int amount; private int price; private String formated_price;}

class A{ private int state; private List<B> price_ladder; }

在查询findAll完的时候转换成A,然后直接返回A即可

收获园豆:3
Kencery | 菜鸟二级 |园豆:357 | 2015-12-03 09:30

你的意思是我需要新建一个类,这个类存那些要显示的字段,然后将我查出来的数据转换到新建的类的属性里,然后将新建的类返回吗?

冰原小白狼 | 园豆:202 (菜鸟二级) | 2015-12-03 18:27

@冰原小白狼: 对,或者你就是用注解,java注解也行?

Kencery | 园豆:357 (菜鸟二级) | 2015-12-04 09:22

@Kencery: 哥们,方便留个联系方式吗?我试了下,但报错

冰原小白狼 | 园豆:202 (菜鸟二级) | 2015-12-04 11:29
其他回答(2)
0

class B { private int amount; private int price; private String formated_price;}

class A{ private int state; private List<B> price_ladder; }

用类做比hashMap好理解点

收获园豆:2
之奇一昂 | 园豆:1421 (小虾三级) | 2015-12-02 20:46
0

格式那不都有了么?

顾晓北 | 园豆:10213 (专家六级) | 2015-12-03 09:12
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册