gpt4 book ai didi

java - 如何使用 Gson 将对象的 JSON 字符串转换为 ArrayList?

转载 作者:行者123 更新时间:2023-11-29 04:18:29 29 4
gpt4 key购买 nike

所以我有一个像这样的国家/地区的 JSON 字符串:

{
"details": [
{
"country_id": "1",
"name": "Afghanistan",
"regions": null
},
{
"country_id": "2",
"name": "Albania",
"regions": null
},
{
"country_id": "3",
"name": "Algeria",
"regions": null
},

... and so on
}

现在我想要一个尝试将其转换为国家/地区的ArrayList 的方法。

public static ArrayList<GFSCountry> get() {
return new Gson().fromJson(countriesJson, new TypeToken<ArrayList<GFSCountry>>(){}.getType());
}

但是我得到了一个

Expected BEGIN_ARRAY but was BEGIN_OBJECT at line 1 column 2 path

根据要求,这是我的 GFSCountry 类:

@SerializedName("country_id")
@Expose
private String countryId;
@SerializedName("name")
@Expose
private String name;
@SerializedName("regions")
@Expose
private Object regions;

public String getCountryId() {
return countryId;
}

public void setCountryId(String countryId) {
this.countryId = countryId;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public Object getRegions() {
return regions;
}

public void setRegions(Object regions) {
this.regions = regions;
}

我知道我应该从 JSON 字符串或方法中调整一些东西。有帮助吗?

最佳答案

由于列表嵌套在您的 JSON 中,您将需要一个包含该列表的小型映射类。

尝试

static class GFSCountryList {
public List<GFSCountry> details;
}

public static List<GFSCountry> get() {
return new Gson().fromJson(countriesJson, GFSCountryList.class).details;
}

关于java - 如何使用 Gson 将对象的 JSON 字符串转换为 ArrayList?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50734951/

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