事情是这样的:
A网站提供一个连接接口,我验证登录信息通过后,返回一个json数据;但是我用$response = json_decode($output);却得不到数据、返回是空; 请教坛子里高手,怎么才能正确解析json数据成数组呢 、
数据部分截取:
- PHP code
{"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
------解决方案--------------------
因为
"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
)
)
)
*/