JSON响应字符串:阅读GSON从JSON字符串
{
"1": {
"registered_name": "Manchester Cars",
"search_tag": null,
"town": "Manchester",
"distance": "1.03782874345779",
"capacity": 4,
"first_address_line": null,
"price": "165.00",
"cost_per_person": "165.00",
"trip_direction": 1,
"mco_id": "826",
"tag": ""
},
"2": {
"registered_name": "Avon Cars",
"search_tag": null,
"town": "Solihull",
"distance": "3.39530396461487",
"capacity": 4,
"first_address_line": null,
"price": "140.82",
"cost_per_person": "140.82",
"trip_direction": 1,
"mco_id": "670",
"tag": ""
},
"3": {
"registered_name": "BBS Executive",
"search_tag": null,
"town": "Birmingham",
"distance": "11.7371127605438",
"capacity": 4,
"first_address_line": null,
"price": "186.17",
"cost_per_person": "186.17",
"trip_direction": 1,
"mco_id": "615",
"tag": ""
},
"4": {
"registered_name": "Sky Cars",
"search_tag": null,
"town": "Birmingham",
"distance": "14.4878869056702",
"capacity": 4,
"first_address_line": null,
"price": "179.13",
"cost_per_person": "179.13",
"trip_direction": 1,
"mco_id": "822",
"tag": ""
},
"": {
"registered_name": "Eco Cars Manchester",
"search_tag": null,
"town": "Stockport",
"distance": "9.5043933391571",
"capacity": 4,
"first_address_line": null,
"price": "155.00",
"cost_per_person": "155.00",
"trip_direction": 1,
"mco_id": "774",
"tag": ""
}
}
我想这个JSON响应转换中,我使用以下GSON的代码,但无法转换,
尝试解决方案1
Gson gson = new Gson();
Item[] itemList = gson.fromJson(jstring, Item[].class);
Type collectionType = new TypeToken<Collection<Item>>(){}.getType();
List<Item> enums = gson.fromJson(jstring, collectionType);
试过的解决方案2
Gson gson = new Gson();
Item[] itemList = gson.fromJson(jstring, Item[].class);
其中jstring是json响应打印在上面。
失败: java.lang.IllegalStateException:预期BEGIN_ARRAY但BEGIN_OBJECT位于第1行第2列
请参考下转换[JSON来GSON](http://stackoverflow.com/questions/2779251/convert-json-to-hashmap-using-gson-in-java) – Harish