如何在Java列表中循环<;对象[]>;JavaScript中的对象?

如何在Java列表中循环<;对象[]>;JavaScript中的对象?,java,javascript,json,list,Java,Javascript,Json,List,控制器 List<Object[]> permissionList = new ArrayList(); //fill permissionList with list of object ayyays (objetct[0] = permission id, object[1] = permission) model.addAttribute("permissionList", permissionList); List<Object[]> permission

控制器

List<Object[]> permissionList = new ArrayList();
 //fill  permissionList with list of object ayyays (objetct[0] = permission id, object[1] = permission)
 model.addAttribute("permissionList", permissionList);
List<Object[]> permissionList = new ArrayList();
// load values
List<Map<String, String>> listAll = new ArrayList<>();
   if (permissionList != null && permissionList.size() > 0) {
       for (Object[] objects : allPermissions) {
           Map map = new HashMap();
           map.put("id",objects[0]);
           map.put("permName", objects[1]);
           listAll.add(map);
        }
    }

ObjectMapper mapper = new ObjectMapper();
String permissionList = mapper.writeValueAsString(listAll);
model.addAttribute("permissionList", permissionList);

我无法使用js$each()循环浏览我的列表。。。无法获取av[0]和av[1]。Java代码在服务器上运行。JavaScript在客户端上运行。它们是非常不同的语言,不能开箱即用地进行互操作。当您需要将数据从Java传递到JavaScript时,最简单的方法是将其序列化为JSON,例如使用

import com.fasterxml.jackson.databind.ObjectMapper;

ObjectMapper om = new ObjectMapper();
model.addAttribute("permissionList", om.writeValueAsString(permissionList));
在JSP中:

var allpermissionList = ${permissionList};

请注意,并非所有Java对象都可序列化为JSON,因此列表中的对象应为简单Java类型(字符串、数字…)或POJO。

Java代码在服务器上运行。JavaScript在客户端上运行。它们是非常不同的语言,不能开箱即用地进行互操作。当您需要将数据从Java传递到JavaScript时,最简单的方法是将其序列化为JSON,例如使用

import com.fasterxml.jackson.databind.ObjectMapper;

ObjectMapper om = new ObjectMapper();
model.addAttribute("permissionList", om.writeValueAsString(permissionList));
在JSP中:

var allpermissionList = ${permissionList};

请注意,并非所有Java对象都可以序列化为JSON,因此列表中的对象应该是简单的Java类型(字符串、数字…)或POJO。

我已经解决了。。谢谢大家

控制器

List<Object[]> permissionList = new ArrayList();
 //fill  permissionList with list of object ayyays (objetct[0] = permission id, object[1] = permission)
 model.addAttribute("permissionList", permissionList);
List<Object[]> permissionList = new ArrayList();
// load values
List<Map<String, String>> listAll = new ArrayList<>();
   if (permissionList != null && permissionList.size() > 0) {
       for (Object[] objects : allPermissions) {
           Map map = new HashMap();
           map.put("id",objects[0]);
           map.put("permName", objects[1]);
           listAll.add(map);
        }
    }

ObjectMapper mapper = new ObjectMapper();
String permissionList = mapper.writeValueAsString(listAll);
model.addAttribute("permissionList", permissionList);

我下定决心了。。谢谢大家

控制器

List<Object[]> permissionList = new ArrayList();
 //fill  permissionList with list of object ayyays (objetct[0] = permission id, object[1] = permission)
 model.addAttribute("permissionList", permissionList);
List<Object[]> permissionList = new ArrayList();
// load values
List<Map<String, String>> listAll = new ArrayList<>();
   if (permissionList != null && permissionList.size() > 0) {
       for (Object[] objects : allPermissions) {
           Map map = new HashMap();
           map.put("id",objects[0]);
           map.put("permName", objects[1]);
           listAll.add(map);
        }
    }

ObjectMapper mapper = new ObjectMapper();
String permissionList = mapper.writeValueAsString(listAll);
model.addAttribute("permissionList", permissionList);

这是用什么语言写的?阅读生成的源代码,你就会发现问题所在。您需要使用JSON。@adeneo to部分是Java(OP称为JSP),底部是JavaScript。controller是Java spring控制器的问题是通过JSP页面中的列表进行循环。我从未使用过JSP,但只是猜测:如果删除变量周围的引号,例如,
var allpermissionList=${permissionList},会怎么样
?这是什么语言?阅读生成的源代码,您将看到问题所在。您需要使用JSON。@adeneo to部分是Java(OP说JSP),底部是JavaScript。controller是Java spring控制器问题是JSP页面中的列表循环。我从未使用过JSP,但只是猜测:如果删除变量周围的引号,例如
var allpermissionList=${permissionList}
,会怎么样?