的名單我有這個字符串:的Java:轉換數組的數組的字符串表示的對象
[["username1","name1"],["username2","name2"],["username3","name3"], ...]
我想用戶對象的列表。
這樣做的好方法是什麼?
謝謝。
的名單我有這個字符串:的Java:轉換數組的數組的字符串表示的對象
[["username1","name1"],["username2","name2"],["username3","name3"], ...]
我想用戶對象的列表。
這樣做的好方法是什麼?
謝謝。
網友:二維數組的
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;
}
}
轉換JSON到列表:
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);
}
正是我剛纔做的,它的工作原理! :) –
被煮了我的大腦的幾個小時後,我終於找到了一個簡單的解決方案:
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
的長度。
太棒了。你做到了。 :) –
這不是解析正確的格式,我不認爲它可以用任何適當的方式解析。我建議你最好的辦法是通過創建一個邏輯來逐個獲取所有值,在「Bracket([)」和「Inverted Comas(」「)」中使用split函數一次又一次地打破字符串!
幸運的是,它確實工作!看到我上面的答案如果你感興趣 –
這很有趣! –
你爲什麼要把它放在這種格式?如果只有一個JSON對象的數組,每個用戶都是簡單的,那會不會更容易? –
你從哪裏得到這樣的字符串?如果內容處於某種標準格式(JSON/CSV等),解析內容會更容易。如果您確實擁有二維數組中的數據,請告訴我們。 –
其實這看起來像是JSON中的2D數組.. – Floern