こんにちは私はこのようにJson文字列を持っています
{"lines":[{"line":"COLOMBO - BADULLA"},{"line":"COLOMBO - MATALE"},{"line":"COLOMBO - PUTTLAM"},{"line":"COLOMBO - THANDIKULAM"},{"line":"COLOMBO - TALAIMANNAR"},{"line":"COLOMBO - BATTICALOA"},{"line":"COLOMBO - TRINCOMALEE"},{"line":"COLOMBO - MATARA"},{"line":"COLOMBO - AVISSAWELLA"},{"line":"COLOMBO - MIHINTALE"}]}
そしてそのドメインクラスはこのように
public class Line{
private String line;
public String getLine(){
return this.line;
}
public void setLine(String line){
this.line = line;
}
}
public class Lines{
private List lines;
public List getLines(){
return this.lines;
}
public void setLines(List lines){
this.lines = lines;
}
}
そして、このようにgsonをオブジェクトにマッピングします
参考:jsonStringの場合、JSON URLではなく文字列を渡します(HttpGetを使用)
Line ln =null;
Gson gson = new Gson();
ln = gson.fromJson(jsonString, Line.class); not the URL
return ln;
例外は次のとおりです。
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.sab.loc/com.sab.loc.MainActivity}: java.lang.ClassCastException: com.sab.loc.Line cannot be cast to java.util.List
何がうまくいかないのかわかりません。http://jsongen.byingtondesign.com/を使用して生成したクラス定義は正しいと思います。
それがどこで間違っているのか考えていますか?