0

我正在使用以下内容从 facebook 中提取一些数据:

$tagData = file_get_contents('https://graph.facebook.com/123456789/friends?access_token='.$access_token);

echo $tagData;

这会产生例如:

{"data":
[
{"name":"Jonathan Montiel","id":"28125695"},
{"name":"Jackson C. Gomes","id":"51300292"}
],
"paging":{"next":"https:\/\/graph.facebook.com\/123456789\/friends?access_token=5148835fe&limit=5000&offset=5000&__after_id=100060104"}}

问题我如何才能只返回[...]包含在内的内容[ ]

期望的结果:

[
{"name":"Jonathan James","id":"28125695"},
{"name":"Jackson C. Cliveden","id":"51300292"}
]
4

3 回答 3

4

尝试这个:

$tagData = json_decode( $tagData, true );

$data = $tagData['data'];

echo json_encode( $data );

这基本上将 JSON 转换为数组,提取所需的部分并以 JSON 编码的形式再次返回。

编辑

示例小提琴

于 2013-05-26T10:57:06.157 回答
0

感谢 Sirco 的灵感,虽然它的答案有什么不同,但我不知道!

$tagData = json_decode(file_get_contents('https://graph.facebook.com/123456789/friends?access_token='.$access_token), true );

$data = $tagData['data'];

echo json_encode( $data );
于 2013-05-26T11:06:41.813 回答
0

json_decode并用json_encode响应的必要部分重新编码。以下将为您工作:

$tagData = file_get_contents('https://graph.facebook.com/123456789/friends?access_token='.$access_token);

$tagData = json_decode($tagData);
echo json_encode($tagData->data);
于 2013-05-26T11:04:44.587 回答