使用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/