Java 选择按url读取JSON
我想让我的代码尽可能简单,不想下载不需要的东西 当我是facebook管理员时,我只想选择页面 目前我使用: {id,perms}&summary=true&limit=100&access\u-token=MY\u-token 结果: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": [
{
"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不提供过滤。