我试图在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的值?
答案 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());
}