2017-01-20 18 views
0

工作,有了這個代碼:json_decode不串

$url = 'https://www.xxxxxxx.com/api/v1/phone/?apikey=xxxxxxxxxx&id='.$id; 

$cURL = curl_init(); 

curl_setopt($cURL, CURLOPT_URL, $url); 
curl_setopt($cURL, CURLOPT_HTTPGET, true); 

curl_setopt($cURL, CURLOPT_HTTPHEADER, array(
    'Content-Type: application/json', 
    'Accept: application/json' 
)); 
curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true); 
$result = curl_exec($cURL); 

curl_close($cURL); 

    echo $result;  
    var_dump ($result); 
    var_dump(json_decode($result, true)); 

我得到的是:

{ 「電話」: 「0 811 228 338」}

串(32 ) 「{」 電話 「:」 X XXX XXX XXX 「}」

NULL

我不明白爲什麼json_decode在這裏不起作用?

感謝您的幫助我

回答

1

溶液的反應是UTF-8,但不是UTF-8(SANS BOM)。 這意味着在字符串(U + FEFF)的開頭有一個不可見的caractere。

解決辦法:$result = substr($result, 3);

感謝您的幫助

1

與小信息我得到了我相信它是一個JSON格式化問題。

<?php 

    $json = '{"foo-bar": 12345}'; 

    $obj = json_decode($json); 
    print $obj->{'foo-bar'}; // 12345 

?> 

json的報價是無效 http://php.net/manual/en/function.json-decode.php

嘗試在一些驗證這一個http://jsonlint.com/

+0

看起來像他原來的輸入是字符串 '字符串(32) 「{」 電話 「:」 X XXX XXX XXX 「}」' 這是不是JSON – GantTheWanderer

+0

感謝您的迴應。但實際上,$結果是{「telephone」:「X XXX XXX XXX」} –

+0

您在那裏有NULL。它不應該在那裏或應該有一個鍵值爲NULL –