PHP exec响应为字符串?

时间:2015-12-31 00:44:57

标签: php json curl

我目前通过exec()使用已安装的curl版本,而不是使用curl_exec()来查询API(linkedin)。我的调用返回了良好的结果,但编码奇怪,我无法将其转换回json。

这是我的代码:

exec('curl "'.$url.'/v1/people/~?format=json" -H "Authorization: Bearer '.$token.'"', $data);

我得到的回应是(我用xxxx替换敏感数据):

  

array(7){[0] => string(1)“{”[1] => string(22)“”firstName“:   “xxxx”,“[2] => string(67)”“headline”:“xxxx;”,“[3] => string(21)”   “id”:“xxxx”,“[4] => string(24)”“lastName”:“xxxx”,“[5] =>   string(148)“”siteStandardProfileRequest“:{”url“:   “https://www.linkedin.com/profile/view?id=xxxx&authType=name&authToken=xxxx&trk=api XXXX XXXX *”}”   [6] => string(1)“}”}

我已经尝试了json_encode(json_decode($data))但它没有改变任何东西......我如何将此输出转换为JSON对象?

1 个答案:

答案 0 :(得分:5)

为什么我发布后会找到答案大声笑。无论如何,以防有人面临同样的问题,我解决了它:

$data = implode('', $data);
$data = json_decode($data);