ホームページ >バックエンド開発 >PHPチュートリアル >json数据解析返回为空,哪里出有关问题了

json数据解析返回为空,哪里出有关问题了

WBOY
WBOYオリジナル
2016-06-13 10:57:151036ブラウズ

json数据解析返回为空,哪里出问题了?
事情是这样的:

A网站提供一个连接接口,我验证登录信息通过后,返回一个json数据;但是我用$response = json_decode($output);却得不到数据、返回是空; 请教坛子里高手,怎么才能正确解析json数据成数组呢 、
数据部分截取:

PHP code
<!--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}]}

我的代码是这样的:
PHP code
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><?phpheader ("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;//加上后边这两句,也不报错、但是也没有数据打印出来?>





------解决方案--------------------
因为
"StartDate":new Date(1350691200000),
造成的,把它从字符串中都拿掉就可以了.你试试,我刚才调试过试验了.
------解决方案--------------------
PHP code
$s='{"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}]}';$s=preg_replace('/new Date[^,]+/','"$0"',$s);print_r(json_decode($s));/*stdClass Object(    [total] => 359    [data] => Array        (            [0] => stdClass Object                (                    [Id] => 113023                    [ProductId] => 2905                    [ProductCode] => SZX01                    [ProductName] => 计算机图书系列                    [ProcessDays] => 1                    [ProcessResume] =>                     [WorkDayPrice] => 79                    [WeekdayPrice] => 89                    [NormalPrice] => 0                    [Catalog] => 0                    [Type] => 0                    [RDCatalog] => 0                    [BizCatalog] => 0                    [StartDate] => new Date(1350691200000)                    [Deleted] => 0                )            [1] => stdClass Object                (                    [Id] => 113024                    [TourId] => 2905                    [ProductCode] => SZX01                    [ProductName] => 儿童图书教系列                    [ProcessDays] => 1                    [ProcessResume] =>                     [WorkDayPrice] => 79                    [WeekdayPrice] => 89                    [NormalPrice] => 0                    [Catalog] => 0                    [Type] => 0                    [RDCatalog] => 0                    [BizCatalog] => 0                    [StartDate] => new Date(1350777600000)                    [Deleted] => 0                )        ))*/<div class="clear">
                 
              
              
        
            </div>
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。