我正在开发一个android移动应用程序,我能够使用Registfit下载一个json文件,并将其保存在本地存储(下载文件夹下)。但是,当我使用createAllFromJson将json文件的内容插入到reaml数据库时,它会抛出异常:BEGIN_ARRAY but was BEGIN_OBJECT
我提到了这一点,但运气不好。
{
"id": "2.1",
"description": "Initial release",
"version_external_id": "",
"released": false,
"source": {
"created_on": "2018-01-08T13:02:37.017",
"name": "Classification",
},
"items": [
{
"type": "Item",
"id": "1",
"display_name": "TV",
"descriptions": "Household item",
},
{
"type": "Item",
"id": "2",
"display_name": "CD Player",
"descriptions": "Household item",
}
]
}
型号:
public class ItemList extends RealmObject {
@SerializedName("items")
private RealmList<Item> getItems;
}
public class Item extends RealmObject
{
private String id;
private String type;
private String display_name;
private String descriptions;
//getter and setters...
}
方法读取json并将数据插入领域数据库
private void populateItemList() {
Realm realm = Realm.getDefaultInstance();
realm.executeTransaction(new Realm.Transaction() {
@Override
public void execute(Realm realm) {
File file = new File(
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS),"items.json");
try {
FileInputStream stream = new FileInputStream(file);
realm.createAllFromJson(ItemList.class, stream);
}catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
if(realm.isInTransaction())
realm.cancelTransaction();
e.printStackTrace();
}
}
});
}
我将createAllFromJSON
更改为createObjectFromJSON
,现在可以工作了。
我对GSON非常陌生, 几天前有人建议使用GSON,我在这里寻求一些帮助 我正在尝试分析此响应,但收到了所述错误。。 我只是得到了“状态”部分,但得到了错误。 对我的模特来说。
问题内容: 我正在尝试解析这样的JSON字符串 进入对象列表。 这是我正在使用的对象类。 但这让我着迷 有什么想法我应该如何解决? 问题答案: 问题是你要告诉你具有你类型的对象。你不知道 你有一系列类型的对象。你不能只是尝试像这样投射结果并期望它神奇地工作;) 《用户指南》介绍了如何处理此问题: https://github.com/google/gson/blob/master/UserGuid
我正在尝试从XML文件中提取数据。将XML转换为JSON后,我无法访问数据。我正在用GSON解析数据。 这段代码给了我一个错误。 有什么建议吗?提前谢谢。 这是JSON内容: 这是以下类:
我不熟悉GSON和改装,这是我的输出模型(仅供参考结构), 这是我的输出 这是我的改装代码 应为BEGIN_对象,但为BEGIN_数组“ 我尝试过用List替换RootObject
我将请求映射到类,如下所示: 有人能解释为什么我在请求中的数组没有与类A中的数组映射吗?
我正在通过改型和RXAndroid与来自android的REST API进行交互,我遇到了一个问题。 当我向我的“api/users/{id}/{id}/classes”发送GET请求时,我的api会以用户类列表作出响应,如下所示: 我的界面如下所示: 我从片段中这样称呼它: 我的类对象以及getter和setter如下所示: gson不应该看到“类”:[]数组并从中解析对象吗?我做错了什么