Android GSON不使用变量名反序列化JSON

Android GSON不使用变量名反序列化JSON,android,json,gson,Android,Json,Gson,我想知道如何在GSON中反序列化这个。这就是我到目前为止所拥有的 我有一个KLM文件导入到一个fusion表中,我可以从google检索到,它看起来是这样的: { "kind": "fusiontables#sqlresponse", "columns": [ "description", "name", "Address", "geometry" ], "rows": [ [ "Address: Cape Colony and Commodore Drive

我想知道如何在GSON中反序列化这个。这就是我到目前为止所拥有的

我有一个KLM文件导入到一个fusion表中,我可以从google检索到,它看起来是这样的:

{
 "kind": "fusiontables#sqlresponse",
 "columns": [
  "description",
  "name",
  "Address",
  "geometry"
 ],
 "rows": [
  [
   "Address: Cape Colony and Commodore Drive San Jose, CA 95133",
   "Berryessa Community Garden",
   "Cape Colony and Commodore Drive San Jose, CA 95133",
   {
    "geometry": {
     "type": "Point",
     "coordinates": [
      -121.862809,
      37.375257,
      0.0
     ]
    }
   }
  ],
  [
   "Address: S. 6th Street and Bestor Street San Jose, CA 95112",
   "Bestor Community Garden",
   "S. 6th Street and Bestor Street San Jose, CA 95112",
   {
    "geometry": {
     "type": "Point",
     "coordinates": [
      -121.873797,
      37.32357,
      0.0
     ]
    }
   }
  ], ...
我想知道如何在GSON中反序列化这个。我有基本的设置:

反序列化json响应的异步调用:

            //Deserialization
            Type deserializationType = new TypeToken<FusionTableModel>() {}.getType();
            FusionTableModel responceWrapper = gson.fromJson(sb.toString(), deserializationType);
//反序列化
类型反序列化类型=新的TypeToken(){}.getType();
FusionTableModel responceWrapper=gson.fromJson(sb.toString(),反序列化类型);
类别:

public class FusionTableModel {

    private String kind; 
    private ArrayList<String> columns; 

}
公共类FusionTableModel{
私有字符串类;
私有ArrayList列;
}
公共类示例{
@暴露
私有字符串类;
@暴露
private List columns=new ArrayList();
@暴露
私有列表行=新的ArrayList();
公共字符串getKind(){
回报类;
}
公共void setKind(字符串类型){
this.kind=kind;
}
公共列表getColumns(){
返回列;
}
公共void集合列(列表列){
this.columns=列;
}
公共列表getRows(){
返回行;
}
公共无效集合行(列表行){
this.rows=行;
}
}

将来有很多json-to-pojo工具,您可以使用它们从json结构生成java。

那么您的问题是什么?你有什么错误吗?如果是这样,您可以发布错误日志吗?在第一次检查时,您的FusionTableModel几乎没有填写足够的内容来镜像json。@JohnWhite“我正在试图找出如何在GSON中反序列化它。”您建议使用哪种方法,因为这会给我带来一个错误?这是什么意思?它抛出了什么错误?应该是一个字符串,但是是BEGIN\u object。您可以发布一些日志或其他内容吗?从一句话中收集你的意思真的很难。
public class Example {

@Expose
private String kind;
@Expose
private List<String> columns = new ArrayList<String>();
@Expose
private List<List<String>> rows = new ArrayList<List<String>>();

public String getKind() {
    return kind;
}

public void setKind(String kind) {
    this.kind = kind;
}

public List<String> getColumns() {
    return columns;
}

public void setColumns(List<String> columns) {
    this.columns = columns;
}

public List<List<String>> getRows() {
    return rows;
}

public void setRows(List<List<String>> rows) {
    this.rows = rows;

}

}