Ich habe ein Problem mit dem Senden einer Liste von Objekten aus meiner Realm-Datenbank an einen Webserver. Die App sollte die Transaktion lokal speichern (Ich habe Realm-Datenbank verwendet), wenn keine Internetverbindung gefunden wurde. Wenn die App dann die Internetverbindung erkennt, sollten die Daten aus meiner Realm-Datenbank an einen Webserver im JSON-Format gesendet werden. Tia.Ist es möglich, Realm-Objekt in JSON-Objekt zu konvertieren?
Antwort
Ja, Sie können, aber Sie müssen TypeAdapter
für Ihre Klasse registrieren und definieren eine Ausschluss-Strategie für Ihre Klassen erweitert RealmObject
.
Zum Beispiel haben Sie eine User
Klasse wie folgt aus:
public class User extends RealmObject {
@PrimaryKey
private String id;
private String name;
private String email;
// Getter and setter methods.
}
Sie haben einen Benutzer Serializer
zu erstellen:
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());
}
}
Schließlich müssen Sie sich registrieren dies als TypeAdapter
zu Ihrem Gson und Fügen Sie eine Ausschlussstrategie für Realm
hinzu.
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();
Ich denke, das wird Ihnen helfen. Viel Glück.
Sie benötigen den benutzerdefinierten Adapter nicht mehr. Senden Sie einfach eine abgetrennte Kopie an GSON und verwenden Sie stattdessen 'realm.copyFromRealm (obj)'. –
@ChristianMelchior Ich möchte JSON-basierte Daten zu meinem Objekt analysieren, das Realm erweitert. Kannst du darauf helfen? Ich möchte die Daten nicht speichern, sondern nur parsen. –
- 1. Ist es möglich, Enums zu Text in Posgresql zu konvertieren
- 2. ist es möglich, FileOutputStream in Byte-Array zu konvertieren?
- 3. Ist es möglich, GroupCollection in List oder IEnumerable zu konvertieren?
- 4. Ist es möglich, timedelta in Stunden zu konvertieren?
- 5. Ist es möglich, während der Auswahl in SQL zu konvertieren?
- 6. Ist es möglich, CMakeLists.txt in Unix-Makefile zu konvertieren?
- 7. Ist es möglich, PPC Assembly in C zu konvertieren?
- 8. ist es möglich, SVGPath zu Mesh in javafx konvertieren
- 9. Ist es möglich, zwischen Socket- und TcpClient-Objekten zu konvertieren?
- 10. Konvertieren von PCM zu WAV. Ist es möglich?
- 11. Ist es möglich, eine Binärdatei zu verschieben?
- 12. Ist es möglich, einen Datenbanktransaktionsparameter zu verfälschen?
- 13. Ist es möglich, Bild in Firebase in Android zu speichern?
- 14. Ist es möglich, dies in Excel zu tun?
- 15. konvertieren Array in Array zu String ist möglich ..?
- 16. Ist es möglich, user32.dll in monodevelop Projekt zu importieren?
- 17. Ist es möglich, Liste in Python in die Warteschlange zu konvertieren?
- 18. Ist es möglich, Bilddatei in Javascript-Format in Binärformat zu konvertieren.
- 19. Ist es möglich, Token von Anforderungszeichenfolge in Header in JWT-Authentifizierung zu konvertieren?
- 20. Ist es möglich, SQLite-Datenbank programmgesteuert in SQL-Anweisungen in C/C++ zu konvertieren?
- 21. (Wie) Ist es möglich, Tabellen in fremde Tabellen in Postgres zu konvertieren?
- 22. Ist es möglich, ein Video in Echtzeit in Alpha-Kanal-Video zu konvertieren?
- 23. ist es möglich, eine Zeichenfolge in Varbinary in PHP zu konvertieren, ohne die SQL-Funktion
- 24. Ist es möglich, NSMutableArray in umgekehrter Reihenfolge in iPhone zu konvertieren?
- 25. Ist es möglich, String in NTLM-Hashes in Java zu konvertieren?
- 26. ist es möglich, Videos in Drive in andere Videoformate niedrigerer Größe online zu konvertieren und herunterzuladen?
- 27. ist es möglich, Int in benutzerdefinierte Klassenart (in Java) zu konvertieren? Wenn ja, wie?
- 28. Ist es möglich, in Wordpress
- 29. ist es möglich, in scala
- 30. Ist es möglich, in PHP:
Realm-Objekt ist Java-Objekt, so ja, es ist möglich .. – miljon
Ich versuchte Realm mit GSON, aber ich kann nicht das Realm-Objekt zu einem POJO. –
Verwenden Sie 'gson.toJson (realm.copyFromRealm (myObj))'. Das sollte out of the box funktionieren. –