Mam odpowiedź json w tej formie:
String json = "{"0":{ "title" :"title 1" , "time" : "15:00" } ,"1":{ "title" : "title 2" , "time" :"16:00" }}";
A oto moja klasa, próbuję odwzorować ją na:
public class News implements Seriaizable{
@SerializedName("title")
private String title;
@SerializedName("time")
private String time;
}
Zmagam się, ponieważ mam tablicę bez nazwy, która zawiera mnóstwo innych tablic.
Gson gson = new GsonBuilder().setPrettyPrinting().create();
News obj = gson.fromJson(reader, News.class);
Czy ktoś mógłby poprowadzić mnie we właściwym kierunku?
Odpowiedzi:
1 dla odpowiedzi № 1Twój JSON ma nieprawidłowy format. Dodałem kilka przecinków, aby to poprawić.
Możesz rozwiązać ten problem za pomocą map:
String json = "{"0":{ "title" :"title 1" , "time" : "15:00" } ,"1":{ "title" : "title 2" , "time" :"16:00" }}";
Gson gson = new Gson();
Type type = new TypeToken<Map<Integer, News>>() {}.getType();
Map<Integer, News> map = gson.fromJson(json, type);
Ref: https://sites.google.com/site/gson/gson-user-guide#TOC-Collections-Examples