微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

action 接收json数组

最近在开发一个Web应用时,需要使用Action接收前端传来的JSON数组。下面是我的一些经验和学习过程。

action 接收json数组

首先,我们需要在Action中定义一个String类型的变量来存储JSON数组,如:

private String jsonStr;

然后在Action中添加setter和getter方法

public String getJsonstr() {
    return jsonStr;
}

public void setJsonStr(String jsonStr) {
    this.jsonStr = jsonStr;
}

定义完变量和方法后,我们需要在前端通过ajax将JSON数组发送给Action。如下面的示例代码

$.ajax({
   url: '/testAction.action',type: 'POST',contentType: 'application/json',dataType: 'json',data: JSON.stringify(jsonArray),success: function(data) {
      console.log(data);
   }
});

在Action接收JSON数组时,我们需要使用@RequestBody注解,然后将jsonStr变量赋值为JSON数组。如下所示:

public String testAction() {
    BufferedReader br = null;
 
    try {
        br = request.getReader();
        String str = null;
        StringBuffer stringBuffer = new StringBuffer();
 
        while ((str = br.readLine()) != null) {
            stringBuffer.append(str);
        }
 
        // 将传过来的json数组赋值给变量jsonStr
        this.jsonStr = stringBuffer.toString();
     } catch (Exception e) {
         // To do
     }
 
    return SUCCESS;
}

最后,我们可以在Action中使用Gson库来解析JSON字符串并将其转换为Java对象。例如:

Gson gson = new Gson();
MyBean myBean = gson.fromJson(jsonStr,MyBean.class);

以上就是我在使用Action接收JSON数组时的一些心得和经验。希望能对您有所帮助。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐