2014-11-28 2 views
0

У меня есть код здесь, который будет получать данные json с помощью curl. Теперь я хочу повторить все данные. Это не покажет выход.Как вывести данные json в массив с помощью curl

<?php 
$json = file_get_contents('myurl'); 
$data = json_decode($json); 
print_r($data); 
?> 

Это JSON приходит из моего URL:

({"Response_Code":"0000","ResultMobilePrefix":["0917","0905","0906","0915","0916","0926","0927","0937","0935","0817","0936","0922","0923", 
"0932","0933","0934","0942","0943","0907","0908","0909","0910","0912","0918","0919","0920"," 
0921","0928","0929","0930","0938","0939","0948","0949","0925","0989","0999","0947","0998"," 
0946","0975","0977"]}); 

ответ

0

Все, что вам нужно, это эхо json_encode ($ JSON);

0

Используйте true, чтобы преобразовать его в массив;

$data = json_decode($json,true); 
echo '<pre>'; 
print_r($data); 
0

для отображения JSON в использовании формата json_encode() и для правильного использования формата JSON_PRETTY_PRINT

header('Content-type: application/json'); 
echo json_encode($json,JSON_PRETTY_PRINT); 
0

вам нужно избавиться от кронштейна и точкой с запятой в файле формата JSON, прежде чем вы можете использовать json_decode() ;

<?php 
    $json = file_get_contents('myurl'); 

    //remove the brackets 
    $json = str_replace("(", "", $json); 
    $json = str_replace(")", "", $json); 

    //remove the semicolon 
    $json = str_replace(";", "", $json); 

    $data = json_decode($json); 
    print_r($data); 
?> 

это немного некрасиво, но надеюсь, что вы получите эту идею, вам нужно удалить этот символ первого

0

Я просто хочу, чтобы добавить к тому, что Manish объяснил выше. Это то, что PHP Docs говорят о втором параметре:

When TRUE, returned objects will be converted into associative arrays. 

иначе вы просто получите stdclass объект

0

Проблема заключается в URL не возвращает действительный JSon

вы могли бы просто попробовать

var_dump($data); 

это вернет нулевой, потому что это не является допустимым JSON см json_decode

это будет работать

$json = file_get_contents('myurl'); 
$json = preg_replace('/[ ]{2,}|[\t\n\r\(\)\;]/', '', trim($json)); 
$data = json_decode($json); 
print_r($data); 
Смежные вопросы