我有这个字符串:
[["username1","name1"],["username2","name2"],["username3","name3"], ...]
我想获得一个用户对象列表。
这样做的好方法是什么?
谢谢。
答案 0 :(得分:1)
经过几个小时的大脑煮沸后,我终于找到了一个简单的解决方案:
JSONArray array = new JSONArray(users);
List<UserEntity> userList = new ArrayList<>();
for (int i=0; i<len; i++) {
JSONArray jsonUser = array.getJSONArray(i);
UserEntity user = new UserEntity();
user.setUsername(jsonUser.getString(0));
user.setName(jsonUser.getString(1));
userList.add(user);
}
return userList;
users
这里是初始字符串,len
是array
的长度。
答案 1 :(得分:1)
用户:强>
Class User {
String username, name;
public void setUsername(String username) {
this.username = username;
}
public void setName(String name) {
this.name = name;
}
public String getUsername() {
return username;
}
public String getName() {
return name;
}
}
将2D数组的JSON转换为List:
String json = [["username1","name1"],["username2","name2"],["username3","name3"], ...]
List<User> userList = new ArrayList<>();
JSONArray array = new JSONArray(json);
int count = array.length();
for(int i = 0; i < count; i++) {
JSONArray innerArray = array.getJSONArray(i);
User user = new User();
user.setUsername(innerArray[0]);
user.setName(innerArray[1]);
userList.add(user);
}
答案 2 :(得分:0)
这不是一个正确的解析格式,我不认为它可以用任何正确的方法解析。我能建议你做的最好的事情是通过创建逻辑来逐个获取所有值,在“Bracket([)”和“Inverted Comas(”“)”中使用split函数一次又一次地破坏String!