通過javascript將數據組織成json格式,然后傳到java后台。
注意:前台json數組傳參到后台時候需要將對象(json或json數組)轉換成字符串(字符串數組)。
Simple:
1、前台:
var jsonArray = [];
var jsonObject = {};
var array = [];
jsonObject.push(array); //json對象里面的數組
jsonArray.push(JSON.stringify(jsonObject));
var param = "["+jsonArray+"]";
數據示例:[{"name":"張三","sex":"男","family":["父親","母親","女兒"]},{"name":"張三","sex":"男","family":["父親","母親","兒子","爺爺"]},{}]]
2、后台
String results = getPara("results");
JSONArray array = JSONArray.fromObject(results);
List<ObjectVo> list = JSONArray.toList(array, ObjectVo.class);
3、JSONArray.toList方法過時,可以用JSONArray.toCollection
public static void main(String[] args) {
System.out.println("come in ...");
String arr = "[{a:1},{b:2},{c:3}]";
JSONArray ja = JSONArray.fromObject(arr);
List<Integer> list = (List<Integer>)JSONArray.toCollection(ja);
for(Object obj : list){
JSONObject jb = JSONObject.fromObject(obj);
for(String s : (Set<String>)jb.keySet()){
System.out.println(jb.get(s));
}
}
System.out.println("size:"+list.size());
}
4、后台可以傳List,也可以傳JsonArray到前台
public static void main(String[] args) {
System.out.println("come in ...");
List list = new ArrayList();
list.add(1);
list.add(5);
list.add(7);
JSONArray array = new JSONArray();
JSONArray workList = array.fromObject(list);
System.out.println(workList);
}
