给定以下 JSON 响应:
{
"status": "OK",
"regions": [
{
"id": "69",
"name": "North Carolina Coast",
"color": "#01162c",
"hasResorts": 1
},
{
"id": "242",
"name": "North Carolina Inland",
"color": "#01162c",
"hasResorts": 0
},
{
"id": "17",
"name": "North Carolina Mountains",
"color": "#01162c",
"hasResorts": 1
},
{
"id": "126",
"name": "Outer Banks",
"color": "#01162c",
"hasResorts": 1
}
]
}
我正在尝试创建一个区域对象列表。这是我当前代码的一个非常精简的版本:
JSONObject jsonObject = new JSONObject(response);
String regionsString = jsonObject.getString("regions");
Type listType = new TypeToken<ArrayList<Region>>() {}.getType();
List<Region> regions = new Gson().fromJson(regionsString, listType);
这一切都很好。但是,我想排除最终列表中 hasResorts == 0 的区域。我意识到我可以遍历实际的 JSONObjects 并在对每个区域调用 fromJSON 之前检查它们。但我假设有一种 GSON 特定的方法可以做到这一点。
我在看ExclusionStrategy()。有没有一种简单的方法来实现这个到 JSON 反序列化?