[英]Stuck on getting JSONArray from a JSONObject
我有一個類似於JSON的響應:
Subscription POJO類及其內部是“ subscriptionPlans”的數組列表:
SubscriptionDetails.java
@Expose()
@SerializedName("subscriptionPlans")
public ArrayList<SubscriptionPlans> subscriptionPlans;
public ArrayList<SubscriptionPlans> getSubscriptionPlans() {
return subscriptionPlans;
}
@Override
public String toString() {
return "SubscriptionDetails{" +
"subscriptionPlans=" + subscriptionPlans +
'}';
}
SubscriptionPlans.java
@SerializedName("plan_name")
@Expose
public String planName;
@SerializedName("description")
@Expose
public String description;
@SerializedName("amount")
@Expose
public String amount;
public String getPlanName() {
return planName;
}
public String getDescription() {
return description;
}
public String getAmount() {
return amount;
}
我正在使用Gson從JSON獲取數據並將其填充到各種POJO類中,如下所示:
Gson gson = new Gson();
SubscriptionDetails subscriptionDetails = gson.fromJson(String.valueOf(jsonObject.getJSONArray("subscriptionPlans")), SubscriptionDetails.class);
ArrayList<SubscriptionPlans> subscriptionPlans = subscriptionDetails.getSubscriptionPlans();
String amount = subscriptionPlans.get(0).getAmount();
但是,我得到了錯誤響應java.lang.IllegalStateException:Expected BEGIN_OBJECT but was BEGIN_ARRAY at line column 2 path $
我在這里缺少什么或做錯了什么?
將整個字符串傳遞給GSON,而不僅僅是String.valueOf(jsonObject.getJSONArray("subscriptionPlans"))
:
SubscriptionDetails subscriptionDetails = gson.fromJson(String.valueOf(jsonObject), SubscriptionDetails.class);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.