【问题标题】:Filtering Arrays inside JSON object with the HTML string?使用 HTML 字符串过滤 JSON 对象内的数组?
【发布时间】:2019-12-12 13:44:40
【问题描述】:

使用 GiantBombApi。

我正在检索该网站上可用游戏的完整列表。我遇到的问题是我似乎无法找到如何使用 HTML 字符串过滤数组。

因为游戏往往有不止一个平台。这样做是行不通的,我知道它不应该,但是,当我在网上寻找答案时,我找不到任何答案。简单地这样做是行不通的

https://www.giantbomb.com/api/games/?api_key=[mykey]&filter=platforms:xbox%20360&format=json

这是未过滤请求json example中的响应的样子

我将如何制作它,以便当我输入“Xbox 360”时,它只会带回该平台上的游戏?

【问题讨论】:

    标签: java json api


    【解决方案1】:

    将 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 对象映射器。

    【讨论】:

    • 感谢您的回复,但我需要通过 html 来完成,因为我正在处理大量数据并且我需要尽可能高效。但是如果 HTML 部分没有运气,我会放弃并通过代码来完成。再次感谢!
    • 我不明白这是什么意思 - I need it to be done through the html。 Html 不能处理你的数据,它是标记语言。
    猜你喜欢
    • 2019-04-04
    • 2020-12-16
    • 2021-12-15
    • 1970-01-01
    • 2015-03-24
    • 2016-10-18
    • 2020-08-15
    • 2021-10-14
    • 1970-01-01
    相关资源
    最近更新 更多