在data [] php中返回JSON

时间:2013-05-26 10:54:44

标签: php json

我正在使用以下内容从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"}
]

3 个答案:

答案 0 :(得分:4)

试试这个:

$tagData = json_decode( $tagData, true );

$data = $tagData['data'];

echo json_encode( $data );

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

修改

<强> Example Fiddle

答案 1 :(得分: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);

答案 2 :(得分: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 );