Spring控制器接收Json数组——工具Gson

前面通过视频已经大致了解了Spring的工作原理与数据的接收与传送。

但视频中的只讲到了利用GET方式来接收数组,由于最近项目需求,数据量较多,可能会采用数组方式来进行输出的传递,因此,前几天开始研究这个,发现好坑,也没发现比较不错的方法。

到目前为止没有发现直接封装的方式,先提出这样一个解决方案。

/**
* 
* desc:对数组的接收
*/
@RequestMapping("/toPerson3.do")
public String toPerson3(String[] name){
for(String result : name){
	System.out.println(result);
}
return "jsp1/index";
}

测试方式多为GET方式:

http://localhost:8080/Servlet_push.do?name=a&name=b

这样spring的controller可以实现自动封装。



首先来定义下数组:

网上的大多数的jason数组是这种格式的:

{id:"1",name:"cehshi1"},{id:"2",name:"ceshi2"}
后来发现这跟我的需求是不同的,仔细想想又有几个需求会是这种格式的呢?

如果我们有person这个类,我们有好多个person实体,然后我们所想到的自然是封装到一个List<Person>里面,然后我们把这个list加入到map中,然后跟安卓或前端商量一下我们用什么协议来查询到这个数据呢?于是我们定义了一个key就假设是flag吧,那么问题来了,网上的所说的数组与我们的结构是不同的!!!!



区别就是:

其实我想要的效果在不知不觉中封装了两次,因此spring的controller是无法直接进行两次解析的,因此我需要自己手动解析,不过其实也很简单,就是在spring中再定义一个类,这个类中的成员对象就是一个list<person>,那么问题就解决了。


我的经历:

我所做的测试就是:

Map<String
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值