我有一个像这样的JSON数组:
[
{"_id": {"$oid":"57e9e4b1f36d281c4b330509"}, "user": "edmtdev" },
{"_id": {"$oid":"57e9e4cec2ef164375c4c292"}, "user": "admin1234" },
{"_id": {"$oid":"57ea1b0ac2ef164375c5ff1e"}, "username": "admin34" }
]
这是我的User.class
,用于存储所有数据:
public class User{
private Id id;
private String user;
public Id getId() {
return id;
}
public void setId(Id id) {
this.id = id;
}
public String getUser() {
return user;
}
public void setUser(String user) {
this.user = user;
}
}
我的Id.class
用于存储ID:
public class Id {
private String $oid;
public String get$oid() {
return $oid;
}
public void set$oid(String $oid) {
this.$oid = $oid;
}
}
我在Java中使用GSON
来将我的用户设为List<User>
:
List<User> users = new ArrayList<User>();
Gson gson = new Gson();
Type listType = new TypeToken<List<User>>(){}.getType();
users = gson.fromJson(s,listType);
问题是,我为用户提供了用户名但没有ID,$ oid未注册。有人可以帮我理解这段代码中不起作用的东西吗?
答案 0 :(得分:5)
您必须将用户类中的ID替换为:
private Id _id;
因为你的json是_id
,而不是id
。而你的json字符串末尾是错误的,是user
,而不是username
答案 1 :(得分:2)
window.load
这是另一种方法。
您也可以使用上面的注释。