我目前通过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对象?
答案 0 :(得分:5)
为什么我发布后会找到答案大声笑。无论如何,以防有人面临同样的问题,我解决了它:
$data = implode('', $data);
$data = json_decode($data);