为了账号安全,请及时绑定邮箱和手机立即绑定

坚持从 JSONObject 获取 JSONArray

坚持从 JSONObject 获取 JSONArray

喵喔喔 2022-05-12 15:41:00
我有一个类似于以下内容的 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);


查看完整回答
反对 回复 2022-05-12
  • 1 回答
  • 0 关注
  • 612 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号