在 php laravel 中将 html 转换为 json
Convert html to json in php laravel
我打这个 url
https://graph.facebook.com/1843624489016097?fields=link&access_token=EAAD3ZBKkIhYMBAL3KRi9eZBXlYJADZARRFMSe0Nc35WTP92X2etkccVqnjNcjJgKbd8ABtX5pyDPN0nAA7jORyjpOGexZCYp1Sf2iw0DJjCf8UkPiLwhuApSGDGZBvy5w7vk3U0Ba97FZA2DO7J4m4UjvbIolDaRP9TRpemEmLyQZDZD
在 php、
中使用以下代码
$url ='https://graph.facebook.com/' . $connection->provider_id . '?fields=link&access_token=' . $connection->token;
$ch = curl_init($url);
$json= curl_exec ($ch);
我有来自 Facebook 的 html,我只想在其中使用 "Link",
{"link":"https:\/\/www.facebook.com\/app_scoped_user_id\/YXNpZADpBWEdrUlJiUzc0SWFWZATI4SEVJUmJHTTJQVHU2M3owcTJLOHh5MnJYOTI0LWdMT3VFUC1veXNWdXBhM3o3RzdkQmV4cjNfTC1nSkdheGFhV19pWWU5T1ZAWSzlkN0NBTUl4NVZAKTE9oRjlFbjdObU5i\/","id":"1686741234967769"}1
我尝试将其转换为 JSON 但它不起作用,它以相同的格式出现,因为我在 API 中执行此操作,我在 Postman 下检查它,我确实喜欢这个..
$request = json_encode($json, JSON_HEX_QUOT | JSON_HEX_TAG);
格式未转换为 json,我正在 PHP Laravel.
你应该使用 json_decode in place of json_encode。所以你应该这样尝试:
$request = json_decode($json, true);
$link = $request["link"];
也使用 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
将响应保存在 curl_init
之后的变量中。
输出末尾有一个 1,可能是您回显了一些不应该的额外内容。
我怀疑您希望卷曲到 return 实际结果,但您没有使用适当的标志。我怀疑这是因为您将 return 结果分配给 $json
但没有标志 CURLOPT_RETURNTRANSFER
将 return true
而不是任何 json 价值。
以下是您可以尝试的方法:
$url ='https://graph.facebook.com/' . $connection->provider_id . '?fields=link&access_token=' . $connection->token;
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER);
$json= curl_exec ($ch);
$jsonArray = json_decode($json, true);
$link = $jsonArray["link"];
中有关卷曲标志的更多信息
我打这个 url
https://graph.facebook.com/1843624489016097?fields=link&access_token=EAAD3ZBKkIhYMBAL3KRi9eZBXlYJADZARRFMSe0Nc35WTP92X2etkccVqnjNcjJgKbd8ABtX5pyDPN0nAA7jORyjpOGexZCYp1Sf2iw0DJjCf8UkPiLwhuApSGDGZBvy5w7vk3U0Ba97FZA2DO7J4m4UjvbIolDaRP9TRpemEmLyQZDZD
在 php、
中使用以下代码$url ='https://graph.facebook.com/' . $connection->provider_id . '?fields=link&access_token=' . $connection->token;
$ch = curl_init($url);
$json= curl_exec ($ch);
我有来自 Facebook 的 html,我只想在其中使用 "Link",
{"link":"https:\/\/www.facebook.com\/app_scoped_user_id\/YXNpZADpBWEdrUlJiUzc0SWFWZATI4SEVJUmJHTTJQVHU2M3owcTJLOHh5MnJYOTI0LWdMT3VFUC1veXNWdXBhM3o3RzdkQmV4cjNfTC1nSkdheGFhV19pWWU5T1ZAWSzlkN0NBTUl4NVZAKTE9oRjlFbjdObU5i\/","id":"1686741234967769"}1
我尝试将其转换为 JSON 但它不起作用,它以相同的格式出现,因为我在 API 中执行此操作,我在 Postman 下检查它,我确实喜欢这个..
$request = json_encode($json, JSON_HEX_QUOT | JSON_HEX_TAG);
格式未转换为 json,我正在 PHP Laravel.
你应该使用 json_decode in place of json_encode。所以你应该这样尝试:
$request = json_decode($json, true);
$link = $request["link"];
也使用 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
将响应保存在 curl_init
之后的变量中。
输出末尾有一个 1,可能是您回显了一些不应该的额外内容。
我怀疑您希望卷曲到 return 实际结果,但您没有使用适当的标志。我怀疑这是因为您将 return 结果分配给 $json
但没有标志 CURLOPT_RETURNTRANSFER
将 return true
而不是任何 json 价值。
以下是您可以尝试的方法:
$url ='https://graph.facebook.com/' . $connection->provider_id . '?fields=link&access_token=' . $connection->token;
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER);
$json= curl_exec ($ch);
$jsonArray = json_decode($json, true);
$link = $jsonArray["link"];
中有关卷曲标志的更多信息