json_encode () возвращает false

Это первый раз, когда я когда-либо сталкивался, что var_dumping json_encode из массива приводит к логическому значению.

У меня есть массив, который был получен из unserialization. Я var_dumped и убедился, что это допустимый массив. Результат выглядит следующим образом. Это всего лишь кусок, а не весь отладочный вид.

array (size=3) 'id' => string 'asco-power-technologies-lp' (length=27) 'name' => string 'asco-power-technologies-lp' (length=27) 'children' => array (size=2) 0 => array (size=4) 'id' => string 'apl-logistics' (length=13) 'name' => string 'APL LOGISTICS' (length=13) 'data' => array (size=2) 'band' => string 'ASCO POWER TECHNOLOGIES ,LP' (length=29) 'relation' => string 'Buyer of band' (length=13) 'children' => array (size=11) 0 => & array (size=3) 'id' => string 'trisa-ag' (length=8) 'name' => string 'TRISA AG' (length=8) 'data' => array (size=2) 'band' => string 'APL LOGISTICS' (length=13) 'relation' => string 'Buyer of band' (length=13) 1 => & array (size=3) 'id' => string 'colgate-sanxiao-co-ltd' (length=22) 'name' => string 'COLGATE SANXIAO CO LTD' (length=22) 'data' => array (size=2) 'band' => string 'APL LOGISTICS' (length=13) 'relation' => string 'Buyer of band' (length=13) 

…..

Aterwards i json_encode с максимальной глубиной = 3. Заметьте, я использую PHP 5.5 и работает на Apache 2.4, так что он поддерживает параметр глубины на json_encode (). Это то, что я делал.

  $array = unserialize($serial); var_dump($array); $json = json_encode($array, JSON_PRETTY_PRINT, 3); var_dump($json); 

Наконец, я получил $array var_dumped правильно и $json var_dumped с результатом ложного логического значения. Что с этим не так? Должно ли это из-за раннего выпуска PHP, что unproper var_dump приведет к ошибке boolean? Кто-нибудь когда-либо сталкивался с этим?

ОБНОВИТЬ:

Это строка сериализации. Вся строка слишком сложная, поэтому я вставляю только кусок.

 a:3:{s:2:"id";s:27:"asco-power-technologies-lp";s:4:"name";s:27:"asco-power-technologies-lp";s:8:"children";a:2:{i:0;a:4:{s:2:"id";s:13:"apl-logistics";s:4:"name";s:13:"APL LOGISTICS";s:4:"data";a:2:{s:4:"band";s:29:"ASCO POWER TECHNOLOGIES ,LP";s:8:"relation";s:13:"Buyer of band";}s:8:"children";a:11:{i:0;a:3:{s:2:"id";s:8:"trisa-ag";s:4:"name";s:8:"TRISA AG";s:4:"data";a:2:{s:4:"band";s:13:"APL LOGISTICS";s:8:"relation";s:13:"Buyer of band";}}i:1;a:3:{s:2:"id";s:22:"colgate-sanxiao-co-ltd";s:4:"name";s:22:"COLGATE SANXIAO CO LTD";s:4:"data";a:2:{s:4:"band";s:13:"APL LOGISTICS";s:8:"relation";s:13:"Buyer of band";}}i:2;a:3:{s:2:"id";s:25:"apll-on-behalf-oftongfang";s:4:"name";s:25:"APLL ON BEHALF OFTONGFANG";s:4:"data";a:2:{s:4:"band";s:13:"APL LOGISTICS";s:8:"relation";s:13:"Buyer of band";}}i:3;a:3:{s:2:"id";s:26:"apll-on-behalf-of-zhejiang";s:4:"name";s:26:"APLL ON BEHALF OF ZHEJIANG";s:4:"data";a:2:{s:4:"band";s:13:"APL LOGISTICS";s:8:"relation";s:13:"Buyer of band";}}i:4;a:3:{s:2:"id";s:33:"apll-on-behalf-of-tongfang-global";s:4:"name";s:33:"APLL ON BEHALF OF TONGFANG GLOBAL";s:4:"data";a:2:{s:4:"band";s:13:"APL LOGISTICS";s:8:"relation";s:13:"Buyer of band";}}i:5;a:3:{s:2:"id";s:34:"apll-on-behalf-of-ningbo-xiangyuan";s:4:"name";s:34:"APLL ON BEHALF OF NINGBO XIANGYUAN";s:4:"data";a:2:{s:4:"band";s:13:"APL LOGISTICS";s:8:"relation";s:13:"Buyer of band";}}i:6;a:3:{s:2:"id";s:33:"apll-on-behalf-of-ningbo-homestar";s:4:"name";s:33:"APLL ON BEHALF OF NINGBO HOMESTAR";s:4:"data";a:2:{s:4:"band";s:13:"APL LOGISTICS";s:8:"relation";s:13:"Buyer of band";}}i:7;a:3:{s:2:"id";s:17:"apll-on-behalf-of";s:4:"name";s:17:"APLL ON BEHALF OF";s:4:"data";a:2:{s:4:"band";s:13:"APL LOGISTICS";s:8:"relation";s:13:"Buyer of band";}}i:8;a:3:{s:2:"id";s:21:"apl-logistics-sdn-bhd";s:4:"name";s:21:"APL LOGISTICS SDN BHD";s:4:"data";a:2:{s:4:"band";s:13:"APL LOGISTICS";s:8:"relation";s:13:"Buyer of band";}}i:9;a:4:{s:2:"id";s:21:"apl-logistics-limited";s:4:"name";s:21:"APL LOGISTICS LIMITED";s:4:"data";a:2:{s:4:"band";s:13:"APL LOGISTICS";s:8:"relation";s:13:"Buyer of band";}s:8:"children";a:27:{i:0;a:3:{s:2:"id";s:26:"tri-phil-international-inc";s:4:"name";s:27:"TRI-PHIL INTERNATIONAL INC.";s:4:"data";a:2:{s:4:"band";s:21:"APL LOGISTICS LIMITED";s:8:"relation";s:13:"Buyer of band";}}i:1;a:3:{s:2:"id";s:16:"pt-apl-logistics";s:4:"name";s:17:"PT. APL LOGISTICS";s:4:"data";a:2:{s:4:"band";s:21:"APL LOGISTICS LIMITED";s:8:"relation";s:13:"Buyer of band";}}i:2;a:3:{s:2:"id";s:25:"keygold-manufacturing-inc";s:4:"name";s:26:"KEYGOLD ... 

Глубина $array определенно больше 3. Просто сделайте глубину большим числом.

На стороне примечания вы также можете использовать json_last_error чтобы увидеть сообщение об ошибке в случае сбоя json_encode.