以下は私のコードです。私が実行している間、「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;