Java 如何将两个地图添加到列表中

Java 如何将两个地图添加到列表中,java,Java,代码是: 如何将地图添加到列表中 public List<Map<Object, Object>> getReportees(String idOfEmp) throws Exception { JSONArray jsonarr_s = (JSONArray) jobj.get("list"); Map<Object, Object> map = new HashMap<Object, Object>(); if

代码是: 如何将地图添加到列表中

   public List<Map<Object, Object>> getReportees(String idOfEmp) throws Exception {

    JSONArray jsonarr_s = (JSONArray) jobj.get("list");
    Map<Object, Object> map = new HashMap<Object, Object>();
    if (jsonarr_s.size() > 0) {

        // Get data for List array
        for (int i = 0; i < jsonarr_s.size(); i++) {

            JSONObject jsonobj_1 = (JSONObject) jsonarr_s.get(i);
            JSONObject jive = (JSONObject) jsonobj_1.get("jive");

            Object names = jsonobj_1.get("displayName");
            Object userid = jive.get("username");
            map.put(names, userid);                  //return the map with the key value pairs
            map = new HashMap<Object, Object>();
            String UserId = userid.toString();
            String output1 = resp1.getEntity(String.class);
            JSONObject jobjs = (JSONObject) new JSONParser().parse(output1);

            // Store the JSON object in JSON array as objects (For level 1 array element i.e
            // issues)
            JSONArray jsonarr_new = (JSONArray) jobjs.get("issues");
            int numofjiras = jsonarr_new.size();  //this jira count must be mapped to the name and id
            map.put("count", numofjiras);
        }

        return map;
    } else {
        map.put("errorcheck", msg);
    }
    return map;
   }
}
   I want the output like:

     Name     id    count
     AJ     235457   2
     Geet   637571   0
public List getReportees(字符串idOfEmp)引发异常{
JSONArray jsonarr_s=(JSONArray)jobj.get(“列表”);
Map Map=newhashmap();
如果(jsonarr_.size()>0){
//获取列表数组的数据
对于(int i=0;i

实际上,我得到的是键值对中的名称和id。然后我尝试将每个id传递给api,api将给出计数。那么我如何返回所有文件,即名称,id和计数。因此,我在这里尝试映射此用户名和名称,这是计数。我们如何实现它。请参阅帮助。感谢您的帮助。

我认为您可以尝试创建一个新类来表示输出中的每一行。例如,您可以创建一个
Employee
类,如下所示:

public class Employee {
    private long id;
    private String name;
    private int issueCount;

    //getters and setters
}
然后,您可以使用这个类并将JSONArray数组中的值分配给它。一旦获得“count”的值,就可以将Employee对象添加到映射(或列表)中


希望这有帮助。

您需要先声明本地列表,然后返回该列表:

    public List<Map<Object, Object>> getReportees(String idOfEmp) throws Exception {

        JSONArray jsonarr_s = (JSONArray) jobj.get("list");
        Map<Object, Object> map = new HashMap<Object, Object>();
        List<Map<Object, Object>> resultList = new ArrayList<Map<Object,Object>>();
        if (jsonarr_s.size() > 0) {

            // Get data for List array
            for (int i = 0; i < jsonarr_s.size(); i++) {

                JSONObject jsonobj_1 = (JSONObject) jsonarr_s.get(i);
                JSONObject jive = (JSONObject) jsonobj_1.get("jive");

                Object names = jsonobj_1.get("displayName");
                Object userid = jive.get("username");
                map.put(names, userid);                  //return the map with the key value pairs

                String UserId = userid.toString();
                String output1 = resp1.getEntity(String.class);
                JSONObject jobjs = (JSONObject) new JSONParser().parse(output1);

                // Store the JSON object in JSON array as objects (For level 1 array element i.e
                // issues)
                JSONArray jsonarr_new = (JSONArray) jobjs.get("issues");
                int numofjiras = jsonarr_new.size();  //this jira count must be mapped to the name and id
                map.put("count", numofjiras);

            }
            resultList.add(map);
        } else {
            map.put("errorcheck", msg);
            resultList.add(map);
        }
        return resultList;
    }
public List getReportees(字符串idOfEmp)引发异常{
JSONArray jsonarr_s=(JSONArray)jobj.get(“列表”);
Map Map=newhashmap();
List resultList=new ArrayList();
如果(jsonarr_.size()>0){
//获取列表数组的数据
对于(int i=0;i
根据您的结果,尽管您应该考虑翻转数据对象而不是

    Map<Object, List<Object>>
Map

地图中的第一个对象,即他们键入的名称,然后列表将包含两个对象[id,count]。

非常感谢。但这不适用于Metat's ok。无论如何,要将地图添加到列表中,只需执行list.add(地图)。