Jersey Restful WebService 接收 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":"富硒葡萄","pickTime":"2015-08-17","source":"珍北村基地(新)","pic":"张伟","nc":"合格","printTime":"2015-08-17 20:52:06","netId":"jjgrape495"},
{"name":"富硒葡萄","pickTime":"2015-08-17","source":"珍北村基地(新)","pic":"张伟","nc":"合格","printTime":"2015-08-17 20:52:06","netId":"jjgrape494"},
{"name":"富硒葡萄","pickTime":"2015-08-17","source":"珍北村基地(新)","pic":"张伟","nc":"合格","printTime":"2015-08-17 20:52:06","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的人还不多吧!所以这类问题基本都要在国外网站找!

很久没有这种感觉了,折腾一整天,最后在半夜临睡前把问题搞定!


  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小鹰信息技术服务部

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值