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