JsonArray to Realm with gson



我在将 jsonarray 存储到 realm 时遇到问题 我收到异常

java.lang.IllegalStateException: Expected BEGIN_OBJECT but was BEGIN_ARRAY

我这样做的创造活动

Realm.init(getApplicationContext());
RealmConfiguration realmConfiguration = new RealmConfiguration.Builder().build();
Realm.setDefaultConfiguration(realmConfiguration); // Make this Realm the default;
realm.getInstance(realmConfiguration);

但是领域变量为空

我的保存代码是

adressModelListrealm = gson.fromJson(parentArray, AdressModelRealm.class);

当我尝试使用新代码存储时

List<AdressModelRealm> woList = gson.fromJson(parentArray, new TypeToken<List<AdressModelRealm>>() {
}.getType());
realm.beginTransaction();
realm.copyToRealm(woList);
realm.commitTransaction();

我得到一个空点执行

我的模型:

public class AdressModelRealm extends RealmObject {


private String SNR;
private String ADR_2_8;     // Adressnummer
private String ADR_20_30;   // Adressname

。还有更多与二传手

和我的 JSON 数组:

[{
"SNR": "6",
"ADR_2_8": "10000",
"ADR_20_30": "Kunde Inland",
"ADR_2332_20": "+49 (1234) 56789-00",
"ADR_242_20": "+49 (1234) 56789-99",
"ADR_2187_46": "Inlandstraße",
"ADR_2170_11": "1",
"ADR_110_10": "12345",
"ADR_2233_40": "Inlandsort",
"ADR_1330_60": "inlandzk@meine-firma-homepage.de"
}]

我可以帮助任何人吗?

您需要将 JSON 模式用于 POJO,以便可以将对象从 JSON 转换为 Java 对象。然后你会想要AddressModel extend RealmObject这样你就可以将你的Java对象放到这样的领域里。

Realm.init();
Realm realm = Realm.getDefaultInstance();
realm.executeTransaction(new Realm.Transaction() {
@Override
public void execute(Realm realm) {
realm.copyToRealmOrUpdate(new AddressModel(//constructor);
}
});

这里有一个关于JSONSchemaToPOJO如何工作的好教程。

最新更新