下面是我的代码。当我运行它时,它显示“json 语法异常需要一个字符串,但它是 begin_object”。我不知道为什么它显示错误。
{
"products": [
{
"name": "gam",
"pplsft": "75665",
"imei": "Ptwm ",
"created_at": "2012-12-03 04:58:01"
},
{
"name": "",
"pplsft": "0",
"imei": "",
"created_at": "2012-12-03 05:44:01"
},
{
"name": "gptw",
"pplsft": "0",
"imei": "at",
"created_at": "2012-12-03 05:58:18"
},
{
"name": "",
"pplsft": "0",
"imei": "",
"created_at": "2012-12-03 23:32:06"
},
{
"name": "",
"pplsft": "0",
"imei": "",
"created_at": "2012-12-03 23:35:25"
}
]
}
和类文件是,但我不知道如何使用gson创建用于json解析的类文件。anobdy能解释一下吗??
public class Results {
public String name;
@SerializedName("pplsft")
public int pplsft;
@SerializedName("imei")
public String imei;
@SerializedName("created_at")
public int created_at;
}
public class SearchResponse {
@SerializedName("products")
public List<Result> products;
@SerializedName("name")
public String name;
@SerializedName("pplsft")
public int pplsft;
@SerializedName("imei")
public String imei;
@SerializedName("created_at")
public int created_at;
public List<Result> getProducts() {
return products;
}
public void setProducts(List<Result> products) {
this.products = products;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getPplsft() {
return pplsft;
}
public void setPplsft(int pplsft) {
this.pplsft = pplsft;
}
public String getImei() {
return imei;
}
public void setImei(String imei) {
this.imei = imei;
}
public int getCreated_at() {
return created_at;
}
public void setCreated_at(int created_at) {
this.created_at = created_at;
}
}
这是从 json 调用数据的主要方法。
response = gson.fromJson(reader, SearchResponse.class);
Toast.makeText(this,response.name, Toast.LENGTH_SHORT).show();
List<Result> list = response.products;