簡體   English   中英

堅持從JSONObject獲取JSONArray

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM