解析一个大json然后多个小jsons

时间:2013-08-19 12:19:52

标签: facebook-graph-api pseudocode

我的英语不是最好的,但我会尝试解释我想要的东西。所以,我们有一个大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页面中,没有任何中断或评论之间的任何内容。谢谢;)

1 个答案:

答案 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

类型的对象