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

10-12 00:14
查看更多