我的英语不是最好的,但我会尝试解释我想要的东西。所以,我们有一个大json,它有很多数据,现在因为服务器无法同时向我们显示所有数据,在这个大json里面会有多个小json的链接,比如当有20个注释时页面,之后有一个“显示更多评论”按钮。我的问题是,我不知道如何做到这一点,如何请求较小的json,解析它。另一个问题是如何解析一个json,它最后链接到另一个json,就像从图api请求一个json并且最后它有
[paging] => stdClass Object
(
[previous] => https://graph.facebook.com/$group_id$/feed?access_token=$valid_token$&__paging_token=$paging_token$&__previous=1
[next] => https://graph.facebook.com/$group_id$/feed?access_token=$valid_token$&limit=25&until=1375310522&__paging_token=$paging_token$
)
当打开[next]的链接时,它会显示该组中的更多帖子,然后在其末尾再次显示下一个链接。 至于第一个问题,我在facebook图表api评论
中有一个更长的例子[comments] => stdClass Object
(
[data] => Array
(
[0] => stdClass Object
(
[id] => 53575265890127
[from] => stdClass Object
(
[name] => Pop Dan
[id] => 10000897827962
)
[message] => Random message
[can_remove] => 1
[created_time] => 2013-08-18T20:01:44+0000
[like_count] => 0
[user_likes] =>
)
... more coments...
[paging] => stdClass Object
(
[cursors] => stdClass Object
(
[after] => NTM1ODIxODE5ODA2NTQ0
[before] => NTM1NzUyNjU2NDgwMTI3
)
next] => https://graph.facebook.com/$group_id$_$post_id$/comments?access_token=$accestoken$&limit=25&after=NTM1ODIxODE5ODA2NTQ0
)
)
在那里,我想继续从[next]解析json,然后将它打印在同一个html页面中,没有任何中断或评论之间的任何内容。谢谢;)
答案 0 :(得分:0)
部分细节取决于您用于查询图形API的语言。
从图api返回的Json可以包含json数组和json对象。 Json对象还可以具有命名值实体如果你在android中这样做,那么首先你必须首先从响应中获取内部json对象。你可以这样做吗
GraphObject go = response.getGraphObject();
JSONObject jso = go.getInnerJSONObject();
现在从json获取一个对象,你可以使用
jso.getJSONObject("object_name");
并获取json数组,您可以使用
jso.getJSONArray("array_name")
其他语言将具有类似的界面
有关json的一般理解,请参阅此link
关于你的第二个问题,你应该明白接下来只是对图节点的另一个查询,但具有不同的参数。如何设置参数取决于api,但在Android中你可以使用如下的参数
Bundle params=r.getParameters();
params.putString("offset", ""+25);
r.setParameters(params);
r是Request
类型的对象