Я работаю с андроид-студией, и я хочу получить данные из базы данных mongodb. Поэтому я создал соединение, и я могу получить данные в JSON успешно. Но когда я хочу повторить его, это не сработает.Хотите получить данные от JSONObject
ArrayList<DatabaseSchema> user = new ArrayList<DatabaseSchema>();
String mongoarray = "{ db_list: " + list + "}";
Object o = com.mongodb.util.JSON.parse(mongoarray);
DBObject dbObj = (DBObject) o;
BasicDBList userList = (BasicDBList) dbObj.get("db_list");
for (Object obj : userList) {
DBObject userObj = (DBObject) obj;
DatabaseSchema temp = new DatabaseSchema();
temp.setUsername(userObj.get("username").toString());
user.add(temp);
}
И в конце этого метода я хочу вернуть пользователя. Но когда я хочу получить имя пользователя этого пользователя, я ничего не получаю и ошибки нет.
EDIT:
public class DatabaseSchema {
public String username;
public void setUsername(String username) {
this.username = username;
}
public String getUsername() {
return username;
}
}
и я получить этот вход:
[{ "_id": { "$ подъязычная": "586 .."}, "документ": { "username": "gmz"}}]
Вы уверены, что DabaseSchema - правильный тип ..? Кроме того, использование класса Object в большинстве случаев не соответствует наилучшей практике. – Gewure
@Gewure да, это правильный вариант. У вас есть пример, как я могу реализовать его без использования класса объекта? – gmz
нет, у меня нет. я просто понял, что кастинг, который кажется очень неестественным. Возможно, хороший парень mkyong может помочь вам с этим: http://www.mkyong.com/mongodb/spring-data-mongodb-query-document/ – Gewure