Java 选择按url读取JSON

Java 选择按url读取JSON,java,json,restfb,Java,Json,Restfb,我想让我的代码尽可能简单,不想下载不需要的东西 当我是facebook管理员时,我只想选择页面 目前我使用: {id,perms}&summary=true&limit=100&access\u-token=MY\u-token 结果: { "id": "101506", "accounts": { "data": [ { "id": "6986842335", "perms": [

我想让我的代码尽可能简单,不想下载不需要的东西

当我是facebook管理员时,我只想选择页面

目前我使用: {id,perms}&summary=true&limit=100&access\u-token=MY\u-token

结果:

{
   "id": "101506",
   "accounts": {
      "data": [
         {
            "id": "6986842335",
            "perms": [
               "ADMINISTER",
               "EDIT_PROFILE",
               "CREATE_CONTENT",
               "MODERATE_CONTENT",
               "CREATE_ADS",
               "BASIC_ADMIN"
            ]
         },
         {
            "id": "1374577066121",
            "perms": [
               "BASIC_ADMIN"
            ]
         },
         {
            "id": "997587036984",
            "perms": [
               "ADMINISTER",
               "EDIT_PROFILE",
               "CREATE_CONTENT",
               "MODERATE_CONTENT",
               "CREATE_ADS",
               "BASIC_ADMIN"
            ]
         },
      ],
   }
}
现在,如何将查询更改为perms=administrate的只读项? 这就是我需要的:

{
   "id": "101506",
   "accounts": {
      "data": [
         {
            "id": "6986842335",
            "perms": [
               "ADMINISTER",
               "EDIT_PROFILE",
               "CREATE_CONTENT",
               "MODERATE_CONTENT",
               "CREATE_ADS",
               "BASIC_ADMIN"
            ]
         },
         {
            "id": "997587036984",
            "perms": [
               "ADMINISTER",
               "EDIT_PROFILE",
               "CREATE_CONTENT",
               "MODERATE_CONTENT",
               "CREATE_ADS",
               "BASIC_ADMIN"
            ]
         },
      ],
   }
}
如果我不能通过查询来读取我需要的内容,也许你知道如何用Java来检查页面长度? 目前我有:

        User = facebookClient.fetchObject("v2.0/me", JsonObject.class, Parameter.with("summary", true), Parameter.with("fields", "id,name,accounts{id,perms}"), Parameter.with("limit", 100));
        Integer userFPCount = User.getJsonObject("accounts").getJsonArray("data").length();
但是这个代码给了我结果:3。如何检查accounts.data.perms的长度(管理)?在这个例子中,我应该得到结果:2


谢谢你的帮助

简单取决于您的观点:)例如,您可以使用restfb的fetchConnection方法。您甚至可以使用版本枚举来定义版本,因为您正在使用不推荐的方法来生成facebookclient。您可以使用帐户类型获取帐户,但在这种情况下,您应该使用
me/accounts
端点。Facebook不提供特殊烫发过滤器。谢谢@Norbert。我使用这个查询是因为我想下载我在一个查询中需要的所有信息。如果我使用:我/我无法获取关于我的信息的帐户(或者我错了?)。现在,我从只有Admin perms帐户的用户构建第2个JSON对象。但也许只选择具有管理员权限的帐户更简单?你能给我举个例子吗?在你的示例代码中,你只使用id和帐户。所以我认为您不需要任何关于用户对象的进一步信息。也许你可以举一个你真正需要的数据的例子。那么就有可能实施更好的解决方案。你必须过滤你这边的账户,你也许可以在自定义的restfb类型中添加逻辑,但Facebook不提供过滤。简单取决于你的观点:)例如,你可以使用restfb的fetchConnection方法。您甚至可以使用版本枚举来定义版本,因为您正在使用不推荐的方法来生成facebookclient。您可以使用帐户类型获取帐户,但在这种情况下,您应该使用
me/accounts
端点。Facebook不提供特殊烫发过滤器。谢谢@Norbert。我使用这个查询是因为我想下载我在一个查询中需要的所有信息。如果我使用:我/我无法获取关于我的信息的帐户(或者我错了?)。现在,我从只有Admin perms帐户的用户构建第2个JSON对象。但也许只选择具有管理员权限的帐户更简单?你能给我举个例子吗?在你的示例代码中,你只使用id和帐户。所以我认为您不需要任何关于用户对象的进一步信息。也许你可以举一个你真正需要的数据的例子。那么就有可能实施更好的解决方案。你必须过滤你这边的账户,你也许可以在自定义的restfb类型中添加逻辑,但Facebook不提供过滤。