使用 GiantBombApi。
我正在检索该网站上可用游戏的完整列表。我遇到的问题是我似乎无法找到如何使用 HTML 字符串过滤数组。
因为游戏往往有多个平台。这样做是行不通的,我知道它不应该,但是,当我在网上寻找答案时,我找不到任何答案。仅仅这样做是行不通的
<强> https://www.giantbomb.com/api/games/?api_key=[mykey]&filter=platforms:xbox%20360&format=json
以下是未过滤请求中的响应 json example
我该如何做,以便当我输入“Xbox 360”时,它只会带回该平台上的游戏?
最佳答案
将 JSON 转换为 java 对象,您可以使用 jackson.databind.ObjectMapper 或类似的东西,然后是这样的:
String platformName = "xbox"
List<Game> games = mapper.readValue(...)
List<Game> out = games.stream().filter(game -> {
for(Platform platform : game) {
if(platformName.equals(platform.getName()) {
return true;
}
}
return false;
}).collect(Collectors.toList());
如果您得到的响应为 XML 字符串,则使用 xml 对象映射器,如果为 json,则使用 json 对象映射器。
关于java - 使用 HTML 字符串过滤 JSON 对象内的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59306014/