, поэтому я начал играть с Realm, и до сих пор он был довольно понятным для моих простых случаев использования, но я обнаружил, что создание объекта realm с помощью realmList внутри него от Json doesn Не заполняйте список областей. Вот что я получил:RealmList внутри RealmObject не заселен от json
public class User extends RealmObject{
@PrimaryKey
private int user_id;
private RealmList<Place> places;
private String fname;
private String lname;
private String birth_date;
public RealmList<Place> getPlaces(){
return this.places;
}
public void setPlaces(RealmList<Place>places) {
this.places = places;
}
}
public class Place extends RealmObject{
private String place_name;
//several other types all ints and Strings with getters and setters
}
обоего этих классов имеют соответствующие методы получения и установки в моем фактическом коде я просто включал выборку информации и все важную информацию, чтобы сократить это.
Я использую модификацию, и все данные поступают как jsonelements.
userService.requestProfile(new Callback<JsonElement>() {
@Override
public void success(JsonElement profileResponse, Response response) {
Log.d(TAG, profileResponse.toString()); //shows raw response containing multiple places objects
realm.beginTransaction();
User user = null;
try {
user = (User)realm.createObjectFromJson(User.class, profileResponse.toString());
}catch (RealmException re){
re.printStackTrace();
}
if(user != null) {
Log.d(TAG, user.getFname()); //comes out correctly
Log.d(TAG, user.getPlaces().size()) //always says 0
}
realm.commitTransaction();
}
@Override
public void failure(RetrofitError error) {
error.getCause();
}
});
Любая идея, почему я не вижу ничего, когда я вызываю getPlaces на пользователе? Я пробовал встраивать объекты realm в объекты realm, и это кажется прекрасным, только realmList, кажется, дает мне проблему. Я не уверен, что данные даже сохраняются в области в первую очередь при вызове createObject. Я также попытался createAllFromJson, но я получаю
Could not create JSON array from string
исключение EDIT: Пример JSON { "места": [{ "place_id": 1280, "PLACE_NAME": "Канада"}}]}
Вы можете добавить свой вход JSON здесь? Кажется, это не массив, который вы хотите разыграть в Царстве. Это должно быть как '[{" name ":" xxx "}]' – beeender
Вы решили свою проблему? – feisal