迭代java中的对象数组

时间:2016-11-09 17:41:49

标签: java

我试图在java中循环遍历对象数组。我将此值从客户端发布到服务器端,即java。

"userList": [{
  "id": "id1",
  "name": "name1"
},
{
  "id": "id2",
  "name": "name2"
}]

现在我想获取每个id和name的值。我尝试了下面的代码:

   for (Object temp : userList) 
       System.out.print(temp);
       System.out.print(temp.getId());
   }

但我得到的输出是:[object Object]

对不起这个愚蠢的问题。但是我如何获得id和name的值?

3 个答案:

答案 0 :(得分:1)

您获得[object Object]因为您在将JavaScript对象发送到服务器之前未在客户端将其转换为JSON - 您需要使用JSON.stringify(object)之类的内容在浏览器中。

接下来,您需要将JSON解压缩到某种Java结构中。执行此操作的首选方法是让现有工具(如Jackson或Gson)将其映射到看似如下的Java对象:

class User {
    String id;
    String name;
}

如何做到这一点取决于您的框架,但Spring MVC(例如)主要是自动支持它。

答案 1 :(得分:0)

根据您希望打印输出的外观,为您的班级实施toString方法。

例如......

public class User {
    private String id;
    private String name;

    // Constructors, field accessors/mutators, etc...

    @Override
    public String toString() {
        return String.format("User {id: %s, name: %s}", this.id, this.name);
    }
}

答案 2 :(得分:-1)

您的问题没有完整的信息。你肯定是在跳过步骤。

在开始使用java中的对象之前,您需要转换对象。

ArrayList<User> convertedUserList = (ArrayList<User>)userList;
for (User temp : convertedUserList) 
    System.out.print(temp);
    System.out.print(temp.getId());
}