用PHP解析JSON数组

用PHP解析JSON数组,php,json,api,curl,Php,Json,Api,Curl,尝试使用PHP/CURL解析JSON API数组结果。可以毫无问题地检索JSON,但是发现从返回的JSON解析任何我想要的数据都非常困难。使用下面的PHP代码 <?php $url = "https://openlibrary.org/search.json?q=green+eggs+and+ham&page=1"; $headers = array( "Content-type: application/json;charset=\"utf-8\

尝试使用PHP/CURL解析JSON API数组结果。可以毫无问题地检索JSON,但是发现从返回的JSON解析任何我想要的数据都非常困难。使用下面的PHP代码

    <?php
    $url = "https://openlibrary.org/search.json?q=green+eggs+and+ham&page=1";

    $headers = array(
    "Content-type: application/json;charset=\"utf-8\"",
    "Accept: text/xml",
    "Cache-Control: no-cache",
    "Pragma: no-cache",
    "SOAPAction: \"run\""
      ); 

     $cURL = curl_init();

     curl_setopt($cURL, CURLOPT_URL, $url);
     curl_setopt($cURL, CURLOPT_HTTPGET, true);
     curl_setopt($cURL, CURLOPT_HTTPHEADER, $headers);
     curl_setopt($cURL, CURLOPT_RETURNTRANSFER, 1);


     $result = curl_exec($cURL);

     //print_r($result);

     foreach (json_decode($result, true) as $book) {

     echo '<p><h3>';
     echo 'title : '.$book['docs']['title_suggest'];
     echo 'author : '.$book['docs']['author_name'].'<br />';
     echo 'pubdate : '.$book['docs]['publish_date'].'<br />';
     echo 'isbn: '.$book['docs']['ia'][0].'<br />';
     echo '</h3></p>';

     }

     curl_close($cURL);
     ?>

  • 第一次解码JSON数据$obj_data=JSON_Decode($result)
  • 操作完成后关闭卷曲
  • 对于最佳实践,接收数据直到“文档”,并在其上循环。 这对你有帮助

    
    $url=”“

    $headers=数组( “内容类型:application/json;字符集=\“utf-8\”, “接受:文本/xml”, “缓存控制:无缓存”, “Pragma:无缓存”, “SOAPAction:\“运行” );

    $cURL=cURL_init()

    curl_setopt($curl,CURLOPT_URL,$URL); curl_setopt($curl,CURLOPT_HTTPGET,true); curl_setopt($curl,CURLOPT_HTTPHEADER,$headers); curl_setopt($curl,CURLOPT_RETURNTRANSFER,1)

    $result=curl\u exec($curl); curl_close($curl); //在PHP对象上解码的Json数据 $obj_data=json_decode($result); foreach($obj_data->docs as$book){ //获取对象数据 回显“标题:”。$book->title\u建议; 回显“作者:”。$book->author_name[0]; 回显“pubdate:”.$book->发布日期; 回显“isbn:”.$book->ia[0]; }


  • 如果没有看到您试图解码的JSON,或者您为什么认为最外层是array.PD of或dump out of JSON或array,我们将无能为力,并写下您面临的困难?还要编写您的愿望输出,以帮助您更好地进行分析
     
    $url = "https://openlibrary.org/search.json?q=green+eggs+and+ham&page=1";

    $headers = array( "Content-type: application/json;charset=\"utf-8\"", "Accept: text/xml", "Cache-Control: no-cache", "Pragma: no-cache", "SOAPAction: \"run\"" );

    $cURL = curl_init();

    curl_setopt($cURL, CURLOPT_URL, $url); curl_setopt($cURL, CURLOPT_HTTPGET, true); curl_setopt($cURL, CURLOPT_HTTPHEADER, $headers); curl_setopt($cURL, CURLOPT_RETURNTRANSFER, 1);

    $result = curl_exec($cURL); curl_close($cURL); //Json Data decoded on PHP object $obj_data = json_decode($result); foreach ($obj_data->docs as $book) { //fetch object data echo 'title : '.$book->title_suggest; echo 'author : '.$book->author_name[0]; echo 'pubdate : '.$book->publish_date; echo 'isbn: '.$book->ia[0]; }