1 需求
最近做一个项目时,需要在前台用ajax
提交一个list
给后台处理,后台自动封装
成对象。
2 步骤
2.1 拼写json数据
在页面拼写所需要上传的json
数据。
var data = "
[
{
"productId": "151",
"number": "1",
"flavor": "中碗",
"size": "微辣",
"finishTime": "2005-10-22 12:20:00",
"remark": "haha",
"userId": "2"
},
{
"productId": "155",
"number": "13",
"flavor": "大碗",
"size": "特辣",
"finishTime": "2005-10-22 12:20:00",
"remark": "",
"userId": "2"
}
]
";
$.ajax({
url:"http://djp.tunnel.2bdata.com/order_statement.htm",
type:"post",
data:{"orderString":data},
success:function (data) {
}})
如果对自己的拼装不自信的话,可以将拼写的json数据在线校验一下是否正确。随后提交ajax
2.2 后台接收json数据字符串处理
先导入 jar包 json-lib-2.2-jdk15.jar
<struts2>
private orderString;
private List<Order> orders;
....对应的set方法....
JSONArray json = JSONArray.fromObject(orderString);
orders = (List<Order>)JSONArray.toCollection(json, Order.class);//转换成list
封装成单个对象:
(JSONObject.toBean(object,Entity.class);//转成单个对象)