我有一个类似于以下内容的 JSON 响应:一个 Subscription POJO 类及其内部是“subscriptionPlans”的 Arraylist:订阅详细信息.java@Expose()@SerializedName("subscriptionPlans")public ArrayList<SubscriptionPlans> subscriptionPlans;public ArrayList<SubscriptionPlans> getSubscriptionPlans() { return subscriptionPlans;}@Overridepublic String toString() { return "SubscriptionDetails{" + "subscriptionPlans=" + subscriptionPlans + '}';}订阅计划.java@SerializedName("plan_name")@Exposepublic String planName;@SerializedName("description")@Exposepublic String description;@SerializedName("amount")@Exposepublic 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 $我在这里错过了什么或做错了什么?
1 回答

陪伴而非守候
TA贡献1757条经验 获得超8个赞
将整个字符串传递给 GSON,而不仅仅是String.valueOf(jsonObject.getJSONArray("subscriptionPlans"))
:
SubscriptionDetails subscriptionDetails = gson.fromJson(String.valueOf(jsonObject), SubscriptionDetails.class);
添加回答
举报
0/150
提交
取消