これはバレーボールからのレスポンスJSONです:解析するためのすべてのjsonオブジェクトを解析してクラス内に送信するには?
{
"status":true,
"data":{
"product_id":"12",
"product_ogpm_id":"OGPR1000485",
"product_part_number":"6ED1 057-1AA01-0BA0",
"escape_part_number":"6ed10571aa010ba0",
"product_name":"USB PC Cable",
"product_uom":"",
"product_image":"",
"product_description":"",
"product_manufacturer":"Siemens",
"manufacturer_id":"4",
"replace_id":"0",
"replace_date":"0000-00-00 00:00:00",
"product_added_date":"2017-09-12 00:57:15",
"product_added_by":"Jayank Chopra",
"product_modified_date":"0000-00-00 00:00:00",
"product_modified_by":"",
"product_status":"1",
"manufacturer_name":"Siemens",
"contracted_id":"1",
"data_sheets":[
]
},
"message":"Product found!"
}
私はこのようなGsonを使用します。
/* BarcodeSearchResponse responseObj = new Gson().fromJson(responseJson.toString(), BarcodeSearchResponse.class);
where BarcodeSearchResponse class is this:
public class BarcodeSearchResponse{
public ArrayList<ScanData> data;
}
*/
そしてSCANDATAが含まれているクラスです。
public class ScanData implements Parcelable{
@SerializedName("product_id")
@Expose
private String productId;
@SerializedName("product_ogpm_id")
@Expose
private String productOgpmId;
@SerializedName("product_part_number")
@Expose
private String productPartNumber;
@SerializedName("escape_part_number")
@Expose
private String escapePartNumber;
@SerializedName("product_name")
@Expose
private String productName;
@SerializedName("product_uom")
@Expose
private String productUom;
@SerializedName("product_image")
@Expose
private String productImage;
@SerializedName("product_description")
@Expose
private String productDescription;
@SerializedName("product_manufacturer")
@Expose
private String productManufacturer;
@SerializedName("manufacturer_id")
@Expose
private String manufacturerId;
@SerializedName("replace_id")
@Expose
private String replaceId;
@SerializedName("replace_date")
@Expose
private String replaceDate;
@SerializedName("product_added_date")
@Expose
private String productAddedDate;
@SerializedName("product_added_by")
@Expose
private String productAddedBy;
@SerializedName("product_modified_date")
@Expose
private String productModifiedDate;
@SerializedName("product_modified_by")
@Expose
private String productModifiedBy;
@SerializedName("product_status")
@Expose
private String productStatus;
@SerializedName("manufacturer_name")
@Expose
private String manufacturerName;
@SerializedName("contracted_id")
@Expose
private String contractedId;
@SerializedName("data_sheets")
@Expose
private List<Object> dataSheets = null;
protected ScanData(Parcel in) {
productId = in.readString();
productOgpmId = in.readString();
productPartNumber = in.readString();
escapePartNumber = in.readString();
productName = in.readString();
productUom = in.readString();
productImage = in.readString();
productDescription = in.readString();
productManufacturer = in.readString();
manufacturerId = in.readString();
replaceId = in.readString();
replaceDate = in.readString();
productAddedDate = in.readString();
productAddedBy = in.readString();
productModifiedDate = in.readString();
productModifiedBy = in.readString();
productStatus = in.readString();
manufacturerName = in.readString();
contractedId = in.readString();
}
public static final Creator<ScanData> CREATOR = new Creator<ScanData>() {
@Override
public ScanData createFromParcel(Parcel in) {
return new ScanData(in);
}
@Override
public ScanData[] newArray(int size) {
return new ScanData[size];
}
};
public String getProductId() {
return productId;
}
public void setProductId(String productId) {
this.productId = productId;
}
public String getProductOgpmId() {
return productOgpmId;
}
public void setProductOgpmId(String productOgpmId) {
this.productOgpmId = productOgpmId;
}
public String getProductPartNumber() {
return productPartNumber;
}
public void setProductPartNumber(String productPartNumber) {
this.productPartNumber = productPartNumber;
}
public String getEscapePartNumber() {
return escapePartNumber;
}
public void setEscapePartNumber(String escapePartNumber) {
this.escapePartNumber = escapePartNumber;
}
public String getProductName() {
return productName;
}
public void setProductName(String productName) {
this.productName = productName;
}
public String getProductUom() {
return productUom;
}
public void setProductUom(String productUom) {
this.productUom = productUom;
}
public String getProductImage() {
return productImage;
}
public void setProductImage(String productImage) {
this.productImage = productImage;
}
public String getProductDescription() {
return productDescription;
}
public void setProductDescription(String productDescription) {
this.productDescription = productDescription;
}
public String getProductManufacturer() {
return productManufacturer;
}
public void setProductManufacturer(String productManufacturer) {
this.productManufacturer = productManufacturer;
}
public String getManufacturerId() {
return manufacturerId;
}
public void setManufacturerId(String manufacturerId) {
this.manufacturerId = manufacturerId;
}
public String getReplaceId() {
return replaceId;
}
public void setReplaceId(String replaceId) {
this.replaceId = replaceId;
}
public String getReplaceDate() {
return replaceDate;
}
public void setReplaceDate(String replaceDate) {
this.replaceDate = replaceDate;
}
public String getProductAddedDate() {
return productAddedDate;
}
public void setProductAddedDate(String productAddedDate) {
this.productAddedDate = productAddedDate;
}
public String getProductAddedBy() {
return productAddedBy;
}
public void setProductAddedBy(String productAddedBy) {
this.productAddedBy = productAddedBy;
}
public String getProductModifiedDate() {
return productModifiedDate;
}
public void setProductModifiedDate(String productModifiedDate) {
this.productModifiedDate = productModifiedDate;
}
public String getProductModifiedBy() {
return productModifiedBy;
}
public void setProductModifiedBy(String productModifiedBy) {
this.productModifiedBy = productModifiedBy;
}
public String getProductStatus() {
return productStatus;
}
public void setProductStatus(String productStatus) {
this.productStatus = productStatus;
}
public String getManufacturerName() {
return manufacturerName;
}
public void setManufacturerName(String manufacturerName) {
this.manufacturerName = manufacturerName;
}
public String getContractedId() {
return contractedId;
}
public void setContractedId(String contractedId) {
this.contractedId = contractedId;
}
public List<Object> getDataSheets() {
return dataSheets;
}
public void setDataSheets(List<Object> dataSheets) {
this.dataSheets = dataSheets;
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel parcel, int i) {
parcel.writeString(productId);
parcel.writeString(productOgpmId);
parcel.writeString(productPartNumber);
parcel.writeString(escapePartNumber);
parcel.writeString(productName);
parcel.writeString(productUom);
parcel.writeString(productImage);
parcel.writeString(productDescription);
parcel.writeString(productManufacturer);
parcel.writeString(manufacturerId);
parcel.writeString(replaceId);
parcel.writeString(replaceDate);
parcel.writeString(productAddedDate);
parcel.writeString(productAddedBy);
parcel.writeString(productModifiedDate);
parcel.writeString(productModifiedBy);
parcel.writeString(productStatus);
parcel.writeString(manufacturerName);
parcel.writeString(contractedId);
}
}*/
コム.google.gson.JsonSyntaxException:java.lang.IllegalStateException: 予想されるBEGIN_ARRAY bu tはBEGIN_OBJECTは行1列24パス $ .dataの
com.google.gson.internal.bind.ReflectiveTypeAdapterFactory $ Adapter.read
[Gsonが期待するBEGIN \ _ARRAYは複製できますが、1行目の列62ではSTRINGでした](https://stackoverflow.com/questions/16380367/gson-expected-begin-array-but-was-string-at-ライン1列62) –