ホームページ >バックエンド開発 >PHPチュートリアル >json データを解析すると空が返されます。どこに問題があるのでしょうか?
JSON データを解析すると空が返されます。何が問題でしたか?
これは次のようなものです:
Web サイトは、ログイン情報が渡されたことを確認した後、json データを返しますが、ここでは $response = json_decode($output); を使用します。しかし、データを取得できません。戻り値は空です。
データ部分のインターセプト:
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --> {"total":359,"data":[{"Id":113023,"ProductId":2905,"ProductCode":"SZX01","ProductName":"计算机图书系列","ProcessDays":1,"ProcessResume":"","WorkDayPrice":79.0000,"WeekdayPrice":89.0000,"NormalPrice":0.0000,"Catalog":"0","Type":0,"RDCatalog":0,"BizCatalog":0,"StartDate":new Date(1350691200000),"Deleted":0},{"Id":113024,"TourId":2905,"ProductCode":"SZX01","ProductName":"儿童图书教系列","ProcessDays":1,"ProcessResume":"","WorkDayPrice":79.0000,"WeekdayPrice":89.0000,"NormalPrice":0.0000,"Catalog":"0","Type":0,"RDCatalog":0,"BizCatalog":0,"StartDate":new Date(1350777600000),"Deleted":0}]}
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --> <?php header ("Content-Type:text/html; charset=UTF-8"); $url = 'http://58.61.153.173/dataport/GetAllTourInfo.ashx'; $host=array('user: admin','password: admin_123'); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch,CURLOPT_HTTPHEADER,$host); $output = curl_exec($ch); print $output; //数据能打印出来,如上面那数据 $response = json_decode($output);//加上后边这两句,也不报错、但是也没有数据打印出来 print $response;//加上后边这两句,也不报错、但是也没有数据打印出来 ?>
$s='{"total":359,"data":[{"Id":113023,"ProductId":2905,"ProductCode":"SZX01","ProductName":"Computer Book Series","ProcessDays" :1,"プロセス再開":"","勤務日価格":79.0000、"平日価格":89.0000、"通常価格":0.0000、"カタログ":"0"、"タイプ":0、"RDカタログ":0、"BizCatalog ":0,"StartDate":new Date(1350691200000),"Deleted":0},{"Id":113024,"TourId":2905,"ProductCode":"SZX01","ProductName":"児童書教育シリーズ","ProcessDays":1,"ProcessResume":"","WorkDayPrice":79.0000,"WeekdayPrice":89.0000,"NormalPrice":0.0000,"Catalog":"0","Type":0,"RDCatalog ":0,"BizCatalog":0,"StartDate":new Date(1350777600000),"削除済み":0}]}'; $s=preg_replace('/new Date[^,]+/','"$0"',$s); print_r(json_decode($s)); /* stdクラスオブジェクト ( [合計] => 359 [データ] => 配列 ( [0] => stdClass オブジェクト ( [ID] => 113023 [製品ID] => 2905 [製品コード] => SZX01 [製品名] =>コンピュータブックシリーズ [プロセス日数] => 1 [プロセス再開] => [勤務日の価格] => 79 [平日料金] => 89 [通常価格] => 0 [カタログ] => 0 [タイプ] => 0 [RDカタログ] => 0 [ビズカタログ] => 0 [開始日] => 新しい日付(1350691200000) [削除済み] => 0 ) [1] => stdClass オブジェクト ( [ID] => 113024 [ツアーID] => 2905 [製品コード] => SZX01 [商品名] => 児童書教育シリーズ [プロセス日数] => 1 [プロセス再開] => [勤務日の価格] => 79 [平日料金] => 89 [通常価格] => 0 [カタログ] => 0 [タイプ] => 0 [RDカタログ] => 0 [ビズカタログ] => 0 [開始日] => 新しい日付(1350777600000) [削除済み] => 0 ) ) ) */ <div class="clear"></div>