#android #json #realm #android-json
#Android #json #область #android-json
Вопрос:
Я не хочу создавать отдельные модели для json и realm. Я ищу способ сделать это.
Как мне справиться с этим в одной модели без создания двух моделей?
Мой Json;
"story": {
"id": 3,
"title": "title",
"is_new": false,
"thumbnail": "url",
"original": "url",
}
MyRealmObject
public class stories extends RealmObject {
@PrimaryKey
@Required
private String id;
@Required
private String title;
private boolean isNew;
@Required
private String thumbnail;
@Required
private String original;
[..and getter setter..]
}
Комментарии:
1. Да, вполне возможно использовать одну и ту же модель как для синтаксического анализа Json, так и для RealmObject
2. Обычно это плохое решение. Вы хотите, чтобы ваши локальные данные были отделены от данных, которые вы получаете с сервера. Кстати, да, просто используйте
@SerialzedName()
адаптер byGSon
или Moshi для преобразования Json в вашRealmObject
3. @p.mathew13 Не могли бы вы предоставить мне образец?
Ответ №1:
Вы можете использовать одну и ту же модель как для синтаксического анализа JSON, так и для Realm.
возможно, вам потребуется использовать SerializedName
, потому что field is_new
не будет работать.
пример:
public class Stories extend RealmObject {
private int id;
private String title;
@SerializedName("is_new") // required
private Boolean isNew;// use preferred name
private String thumbnail;
private String original;
/* getter amp; setter */
}
Синтаксический анализ
Stories mDataClass = new Gson().fromJson("{/*whatever your json object*/}", Stories.class);