Java: Convert String Representation Of Array Of Arrays To An List Of Objects
I have this String: [['username1','name1'],['username2','name2'],['username3','name3'], ...] And I want to get a List of User objects. What is a good way to do this? Thank you.
Solution 1:
User:
ClassUser {
String username, name;
publicvoidsetUsername(String username) {
this.username = username;
}
publicvoidsetName(String name) {
this.name = name;
}
publicStringgetUsername() {
return username;
}
publicStringgetName() {
return name;
}
}
Convert JSON of 2D array to List:
String json = [["username1","name1"],["username2","name2"],["username3","name3"], ...]
List<User> userList = newArrayList<>();
JSONArray array = newJSONArray(json);
int count = array.length();
for(int i = 0; i < count; i++) {
JSONArray innerArray = array.getJSONArray(i);
User user = newUser();
user.setUsername(innerArray[0]);
user.setName(innerArray[1]);
userList.add(user);
}
Solution 2:
After many hours of my brain being boiled, I finally found a simple solution:
JSONArray array = newJSONArray(users);
List<UserEntity> userList = newArrayList<>();
for (int i=0; i<len; i++) {
JSONArray jsonUser = array.getJSONArray(i);
UserEntity user = newUserEntity();
user.setUsername(jsonUser.getString(0));
user.setName(jsonUser.getString(1));
userList.add(user);
}
return userList;
users
here is the initial string, and len
is the length of the array
.
Solution 3:
This isn't a proper format to parse, i don't think it can be parsed with any proper way. The best thing I can suggest you is to break the String again and again with split function at "Bracket([)" and at "Inverted Comas ("")" by creating a logic to get all values one by one!
Post a Comment for "Java: Convert String Representation Of Array Of Arrays To An List Of Objects"