gpt4 book ai didi

java - 卡在从 JSONObject 获取 JSONArray 上

转载 作者:行者123 更新时间:2023-12-01 19:43:57 30 4
gpt4 key购买 nike

我有一个类似于以下内容的 JSON 响应:

还有一个 Subscription POJO 类,其中包含“subscriptionPlans”的 Arraylist:

SubscriptionDetails.java

@Expose()
@SerializedName("subscriptionPlans")
public ArrayList<SubscriptionPlans> subscriptionPlans;


public ArrayList<SubscriptionPlans> getSubscriptionPlans() {
return subscriptionPlans;
}

@Override
public String toString() {
return "SubscriptionDetails{" +
"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:预期为 BEGIN_OBJECT,但在第 2 行列路径 $ 处为 BEGIN_ARRAY

我在这里错过了什么或做得不正确?

最佳答案

将整个字符串传递给 GSON,而不仅仅是 String.valueOf(jsonObject.getJSONArray("subscriptionPlans")):

SubscriptionDetails subscriptionDetails = gson.fromJson(String.valueOf(jsonObject), SubscriptionDetails.class);

关于java - 卡在从 JSONObject 获取 JSONArray 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54254733/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com