Jersey Restful WebService 接收 JSON 数组
发布时间:2020-12-16 22:41:02 所属栏目:安全 来源:网络整理
导读:明天要给客户演示产品了,今天还有个问题没解决,就是一次上传N条记录到后台,存入数据库,用的是Jersey Restful WebService。 客户端提交的数据形式是JSON数组(原来的方案是每个JSON上传一次,但是发现这样程序容易卡死)。 反反复复测试了一整天,都不行
明天要给客户演示产品了,今天还有个问题没解决,就是一次上传N条记录到后台,存入数据库,用的是Jersey Restful WebService。 客户端提交的数据形式是JSON数组(原来的方案是每个JSON上传一次,但是发现这样程序容易卡死)。 反反复复测试了一整天,都不行。查遍了各种网站,也很难找到有用的信息。熬到晚上11点,无意中搜到了StackOverFlow上面的一个问答,收到了启发!再次尝试,成功了!经验如下: 客户端发出的数据格式(是什么语言什么程序这个不重要!): [ {"name":"富硒葡萄","pickTime":"2015-08-17","source":"珍北村基地(新)","pic":"张伟","nc":"合格","printTime":"2015-08-17 20:52:06","netId":"jjgrape496"},{"name":"富硒葡萄","netId":"jjgrape495"},"netId":"jjgrape494"},"netId":"jjgrape493"} ] 注意,这个JSON数组的形式必须是这样的,也就是 [ {},{},{} ] ,而不是 { “a”: ?[?{},{} ]?}。 后台接收的代码: /** * 一次性创建多条二维码记录(以json数组传入) */ @POST @Consumes(MediaType.APPLICATION_JSON) @Path("/multi") public JSONObject createQrCodes(final QrCode[] qrCodes) throws JSONException { for(int i = 0; i < qrCodes.length; i++){ qrCodeBusinessService.createQrCode(qrCodes[i]); } //... } 下面是QrCode类(其他类也一样): public class QrCode { private Long id; private String name; private String pickTime; private String source; private String pic; private String nc; private String printTime; private String netId; //getters,setters }也许是目前国内用Jersey的人还不多吧!所以这类问题基本都要在国外网站找! 很久没有这种感觉了,折腾一整天,最后在半夜临睡前把问题搞定! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |