我对JSON解析很新,我正在使用GJson库并遇到了这个问题。
I'm trying to parse this JSON reponse:
这是我的模特课:
public class JsonModel {
public int posterId ;
public String title ;
public String descraption ;
public String category ;
public String director ;
public String written ;
public String stars ;
public String georgia_time ;
public String wold_time ;
public String ipone_5 ;
public String ipone_5_blur ;
public String ipone_4 ;
public String ipone_4_blur ;
public String youtube ;
public String MovieFbID ;
public String imdb ;
public Cinemas cinemas ;
}
class Cinemas{
public List <Cinema> Cinemaname;
}
class Cinema{
public String cinemaName ;
public List<info> info ;
}
class info{
public String time;
public String hole ;
public String start_time ;
public String end_time ;
}
我像我这样反序列化我的json
try {
Gson gson = new Gson();
JsonModel[] res1 = gson.fromJson(SpleshScreen.my_json, JsonModel[].class);
JsonModel jsonModel = new JsonModel();
for (int i = 0; i < res1.length; i++) {
ServerItems objItem = new ServerItems();
objItem.setImage(imageurl+jsonModel.ipone_4);
Log.e("imageee", objItem.getImage());
arrayOfList.add(objItem);
}
我的代码
的最后一行出错了答案 0 :(得分:1)
如您所见,json的第一个字符是[
。这是数组开始的字符。当您反序列化json时,您告诉Gson您想要获取一个对象,而Gson发现的是一个数组。那么你想在代码中改变的是:
JsonModel[] res1 = gson.fromJson(SpleshScreen.my_json, JsonModel[].class);
之后你可以得到第一个这样的:
JsonModel jsonModel = res1[0];
答案 1 :(得分:0)
试试这段代码:
res1 = gson.fromJson(SpleshScreen.my_json, JsonModel[].class);