0
我想從Instagram的熱門帖子獲取信息,當我在api響應上使用var_dump()
時,它用一個字符串填充了我想要的信息,儘管如此,當我嘗試解碼它時使用json_decode()
它返回一個空,當我檢查json_last_error()
我得到Malformed UTF-8 characters, possibly incorrectly encoded
。解碼instagram的回覆(php)
這是我的PHP文件
<?php
function get_popular($user_id,$count){
$api = 'https://api.instagram.com/v1/media/popular?client_id='.$user_id.'&count='.$count;
$response = file_get_contents($api);
var_dump($response);
// Decode the response and build an array
error_reporting(E_ALL);
$deco = json_decode($response, TRUE);
switch (json_last_error()) {
case JSON_ERROR_NONE:
echo ' - No errors';
break;
case JSON_ERROR_DEPTH:
echo ' - Maximum stack depth exceeded';
break;
case JSON_ERROR_STATE_MISMATCH:
echo ' - Underflow or the modes mismatch';
break;
case JSON_ERROR_CTRL_CHAR:
echo ' - Unexpected control character found';
break;
case JSON_ERROR_SYNTAX:
echo ' - Syntax error, malformed JSON';
break;
case JSON_ERROR_UTF8:
echo ' - Malformed UTF-8 characters, possibly incorrectly encoded';
break;
default:
echo ' - Unknown error';
break;
}
var_dump($deco);
}
?>
這樣做,現在我得到任何語法錯誤,畸形的JSON或意外的控制字符發現 – user2992681
嘗試json_decode(html_entity_decode($響應),TRUE);它爲我解決了它。 – Brice