Servlet如何把json字符串转成为实体类

在开发过程中经常会遇到JSON数据的获取和返回,其中JSON数据与实体类的互转也非常常见,那么我们该如何从jsp中传JSON数据到Serlvet中,然后通过Servlet来获取到JSON数据,再把JSON转换成对应的实体类呢?
首先,在jsp中写一个用ajax提交的方法,其中该方法是已POST提交方法来进行提交,url为servlet的请求路径;data为要提交的内容,内容的四个参数都是json数据,要注意的是要提交json数据必须要用JSON.stringify()方法来JSON字符串化提交;traditonal该参数是阻止jquery对json数组序列化;dataType是设置返回的类型为”text”;contentType该参数主要是设置提交数据类型,其中要一般提交JSON类型都会设置为application/json类型,代码如下:
在这里插入图片描述
但在serlvet开发过程中遇到了错误,也就是在Serlvet中用request.getParameter()获取不了json数据,获取到json数据为null,结果如下:
在这里插入图片描述
显然,从上面的结果可以看出,用request.getParameter()方法获取的值null,但是后来想了一下,在servlet中获取jsp页面传过来的值,好像就是这么一两种方法,突然觉得不是servlet获取参数方法参数,而是可能在jsp中提交时出现了差错。后来经过了一系列排查,原来是contentType提交数据类型的问题,要把contentType改成“application/x-www-form-urlencoded”才行,代码结果如下:
在这里插入图片描述在这里插入图片描述
从上面的结果来看,servlet已经成功获取到jsp传过来的json数据,但是这个json数据还不是我想要的效果,因为该json字符串在取值比较困难,要通过一系列的分割,显然这是不符合实际的,那么该如何处理这个json字符串更容易取值呢?
思路:竟然接收到的是json字符串,有没有办法把该json字符串转成json数据或者对应的实体类呢?
答案是肯定的,首先我们要处理该json字符串就必须要引用相应处理json数据的jar包,本例是引用fastjson-1.2.7.jar,该jar报可以从网上下载,下载完后,引用该jar包:
首先,封装好一个方法jsonToVo(),该方法有两个参数,一个是要转换的json字符串stringJson参数,另外一个是对应的实体类Vo
在这里插入图片描述
注意,实体类与json字符串的属性值要一致,否则匹配不上;
然后,在servlet中获取到jsp中传过来的json字符串,调用上面封装好的方法,把获取到的json字符串和对应的实体类传入该方法,其中该方法返回的是List集合,该集合存储了多个实体类,是一个列表,结果如下:
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值