Как разобрать массив JSON в PHP Object? - PullRequest
0 голосов
/ 07 сентября 2018

У меня возникает ошибка, когда я хочу проанализировать свой массив json для объекта php, используя цикл foreach.

это моя ошибка:

Предупреждение. В foreach () указан неверный аргумент C: \ xampp \ htdocs \ testJSON \ crul_json.php в строке 49

и тогда это мой код

<?php

function http_request($url){
    // persiapkan curl
    $ch = curl_init(); 

    // set url 
    curl_setopt($ch, CURLOPT_URL, $url);

    // set user agent    
    curl_setopt($ch,CURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13');

    // return the transfer as a string 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 

    // $output contains the output string 
    $output = curl_exec($ch); 

    // tutup curl 
    curl_close($ch);      

    // mengembalikan hasil curl
    return $output;
}

$profile = http_request("http://localhost/testWebService/");

//json_output(400, $profile);

$json_format = json_encode($profile);
//echo $json_format;

// ubah string JSON menjadi array
$hasil = json_decode($json_format, TRUE);
$hdcode = var_dump($hasil);
?>

<!DOCTYPE html>
<html>
<head>
    <title>Curl Data JSON</title>
</head>

<body>

<br>
<p> 
    <?php
    foreach ($hasil  as $i):   
    ?>
Nama: <?php echo $hasil->id_mhs; ?><br>

<?php endforeach;?>
</p>

</body>
</html>

Может кто-нибудь помочь мне решить эту ошибку из-за неправильного зацикливания? спасибо :)

1 Ответ

0 голосов
/ 07 сентября 2018

Является ли ответ от веб-службы JSON? Если это так, вам не нужно json_encode его.

Также, поскольку вы передаете true в качестве второго параметра в json_decode, это будет массив вместо объекта. Вы можете позвонить

$hasil = json_decode($json_format);

Чтобы получить объект.

Также в вашем foreach вам нужно использовать $i вместо $hasil.

...