我在将 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如何工作的好教程。