2017-02-20 86 views
-1

我JSON数组从APIPHP的JSON解码布尔(真)

$json_array = curl_exec($curl); 
var_dump($json_array); 
echo '<br>'.mb_detect_encoding($json_array);` 

{"code":"TEXT","name":"/generic/PRODUCT","desc":"/generic/PRODUCT_DESC","productCategory":"/market/prodcats/"}bool(true) 

ASCII

echo '<pre>'; print_r(json_decode($json_array)); 

返回同一阵列不能解码返回。任何建议可能是什么?

json_last_error();

调用未定义功能json_last_error()在/var/www/index.php在线59

+0

您需要将可选参数'TRUE'传递给'json_decode()'返回一个数组。 – Kisaragi

+0

您可能希望将'CURLOPT_RETURNTRANSFER'设置为true以将响应捕获到变量中,而不是将其打印到屏幕上。 –

+1

Jeff Puckett II非常感谢:) – ekavet

回答

0

默认情况下json_decode函数返回stdClass的,如果你想要一个数组,你应该发送的第二个参数等于TRUE 。

$json_array = curl_exec($curl); 
var_dump($json_array); 
echo '<pre>'; print_r(json_decode($json_array,TRUE)); 
+0

no 4EACH,事实并非如此,Jeff Puckett已经解释了问题所在。响应没有设置为变量,这就是为什么我不能将其转换为PHP数组或stdClass对象。 – ekavet