レルムデータベースからWebサーバーにオブジェクトのリストを送信する際に問題があります。アプリケーションは、インターネット接続が検出されなかった場合、トランザクションをローカルに保存する必要があります(私はレルムデータベースを使用しました)。その後、アプリがインターネット接続を検出すると、私の領域データベースのデータをJSON形式でWebサーバーに送信する必要があります。 Tia。RealmオブジェクトをJSONオブジェクトに変換することはできますか?
0
A
答えて
1
はい、あなたはクラスにTypeAdapter
を登録し、除外戦略を定義する必要があります。RealmObject
です。例えば
次のようなUser
クラスを持っている:
public class User extends RealmObject {
@PrimaryKey
private String id;
private String name;
private String email;
// Getter and setter methods.
}
あなたはユーザーSerializer
を作成する必要があります。
public class UserSerializer implements JsonSerializer<User> {
@Override
public JsonElement serialize(User user, Type typeOfSrc, JsonSerializationContext context) {
final JsonObject jsonObject = new JsonObject();
jsonObject.addProperty("id", user.getId());
jsonObject.addProperty("email", user.getEmail());
jsonObject.addProperty("name", user.getName());
}
}
最後に、あなたのGsonにTypeAdapter
としてこれを登録しなければならず、 Realm
の除外戦略を追加してください。
new GsonBuilder()
.setExclusionStrategies(new ExclusionStrategy() {
@Override
public boolean shouldSkipField(FieldAttributes f) {
return f.getDeclaringClass().equals(RealmObject.class);
}
@Override
public boolean shouldSkipClass(Class<?> clazz) {
return false;
}
})
.registerTypeAdapter(User.class, new UserSerializer())
.create();
これはあなたに役立つと思います。がんばろう。
+1
カスタムタイプのアダプターはもう必要ありません。代わりに、 'realm.copyFromRealm(obj)'を使用して、分離コピーをGSONに送信してください。 –
+0
@ChristianMelchior私は、JSONベースのデータをRealmを拡張するオブジェクトにパースしたいと思っています。あなたはそれを助けることができますか?私はデータを保存したくない、私はちょうど解析したい。 –
関連する問題
- 1. jsonオブジェクトをjsonオブジェクトに変換する
- 2. JSONオブジェクトをC#オブジェクトに変換する
- 3. jsonをオブジェクトに変換するには?
- 4. JSONオブジェクトをJSON ARRAYに変換する
- 5. 辞書オブジェクトをJSONオブジェクトに変換できません
- 6. JSONオブジェクトをSpringブートコントローラのJavaオブジェクトに変換できません
- 7. jsonオブジェクトをJSオブジェクトに変換できません
- 8. JSONオブジェクトをJavaオブジェクトに正しく変換できません
- 9. Realmオブジェクトのコピーを作成することはできますか?
- 10. アンドロイドはjsonオブジェクトを変換します
- 11. オブジェクトをJSONオブジェクトから文字列に変換する
- 12. JSONオブジェクトをJSON配列に変換できません
- 13. jsonオブジェクトをformData(HTML5オブジェクト)に変換
- 14. log4j変換パターンでJavaオブジェクトを使用することはできますか?
- 15. 入手:" JsonオブジェクトをJavaのXMLに変換するとき
- 16. オブジェクトをJSONに変換するときにattr_accessorsを見ることができません
- 17. SwiftyJSON:オブジェクトをJSONに変換する
- 18. フォームデータをJSONオブジェクトに変換する
- 19. JsonオブジェクトをSQLテーブルに変換する
- 20. マップをjsonオブジェクトに変換する
- 21. htmlソースコードをjsonオブジェクトに変換する
- 22. Automapper:オブジェクトをJSONに変換する
- 23. オブジェクトのリストをJSONに変換する
- 24. JSONオブジェクトをTypescriptクラスに変換する
- 25. Python - JSONオブジェクトをdictに変換する
- 26. DelphiオブジェクトをJSONに変換
- 27. Spring @JmsListenerはjsonをオブジェクトに変換できません
- 28. エラーを取得するJson配列をjsonオブジェクトに変換できません
- 29. ビュー内の.NetオブジェクトをJSONオブジェクトに変換します。
- 30. jsonオブジェクトをjson配列に変換するには?
RealmオブジェクトはJavaオブジェクトです。sooはい、可能です.. – miljon
私はGSONでRealmを試しましたが、RealmオブジェクトをPOJOにすることはできません。 –
'gson.toJson(realm.copyFromRealm(myObj))'を使います。それは箱の中で動くはずです。 –