我试图读取并解析其开始作为一个数组JSON字符串(如[{test: "test"}]
)和我一直运行到错误:
Expected BEGIN_OBJECT but was BEGIN_ARRAY at line 1 column 2 path $
的错误在我的日志指向该行:
Gson gson = new GsonBuilder().create();
PayoutCharges payoutList = gson.fromJson(reader, PayoutCharges.class);
经过一些计算器的答案,我创建了PayoutCharges类作为PayoutCharge数组列表。 如何解决此问题,以便GSON知道JSON字符串在数组内?
PayoutCharges.java
package com.app.driver.entity;
import java.util.ArrayList;
import com.google.gson.annotations.SerializedName;
public class PayoutCharges {
//handle error
@SerializedName("error")
private Error mError;
public Error getError() {
return mError;
}
public void setError(Error error) {
mError = error;
}
//handle data
@SerializedName("payoutCharges")
private ArrayList<PayoutCharge> mPayoutCharges;
public ArrayList<PayoutCharge> getPayoutCharges() {
return mPayoutCharges;
}
public void setPayoutCharges(ArrayList<PayoutCharge> payoutCharges) {
mPayoutCharges = payoutCharges;
}
}
阅读@ Ridcully的响应后,我想问问,如果有对我更新PayoutCharges.java
,这样它知道JSON是一个数组的方式。像@SerializedName([])
?
Tuncer你救了我的一天。感谢您的解决方案 – PPD 2015-03-14 07:06:57
简单但很好的例子,这解决了我的问题!,谢谢 – RoDo 2016-02-17 12:30:49
谢谢你的工作 – 2017-09-26 11:56:32