action 接收json数组
导读:最近在开发一个Web应用时,需要使用Action接收前端传来的JSON数组。下面是我的一些经验和学习过程。首先,我们需要在Action中定义一个String类型的变量来存储JSON数组,如:private String jsonStr;然后...
最近在开发一个Web应用时,需要使用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数组赋值给变量jsonStrthis.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数组时的一些心得和经验。希望能对您有所帮助。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: action 接收json数组
本文地址: https://pptw.com/jishu/315594.html
