[英]How to get the list of objects from Json using Java and Gson
我嘗試從Json文件讀取並將其迷惑為Java對象,我具有以下Java代碼來讀取Json:
class Item {
String name;
int itemId;
Date AddTime;
String group;
}
Gson gson = new Gson();
gson.fromJson(jsonFile, new TypeToken<Map<String, ArrayList<Item>>>() {}.getType());
Json文件包含以下數據:
{
"item1": [{
"name": "test1",
"itemId": "1",
"AddTime": "2018-09-05T10:35:56.015Z",
"group": "computer"
}, {
"name": "test2",
"itemId": "2",
"AddTime": "2018-09-05T10:35:56.016Z",
"group": "computer"
}, {
"name": "test3",
"itemId": "3",
"AddTime": "2018-09-05T10:35:56.017Z",
"group": "computer"
}],
"item2": [{
"name": "test4",
"itemId": "4",
"AddTime": "2018-09-05T10:35:56.015Z",
"group": "computer"
}, {
"name": "test5",
"itemId": "5",
"AddTime": "2018-09-05T10:35:56.016Z",
"group": "computer"
}, {
"name": "test6",
"itemId": "6",
"AddTime": "2018-09-05T10:35:56.017Z",
"group": "computer"
}]
}
我得到以下內容:
com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1
我是Java新手,有什么問題以及如何解決?
我不確定這是否是您需要的,但是我認為解決方案可能是這樣的。
根據您的數據集。 在每個項目的內部,都有一個帶有測試的arrayList(test1,test2 ...),因此您將需要以下內容:
class Item {
ArrayList<Test> tests;
}
class Test{
String name;
int itemId;
Date AddTime;
String group;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.