|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2015-09-07 10:24 UTC] fedor at support-pc dot org
Description: ------------ error to converting array to json I have a big array, generated by php. Data for array i recive from another server by rest API. Then i use json_encode function and write result to file. But some of array value cant correct convert by slashing. example of generated array: https://openitstudio.ru/php-error-report/input.array example of generated json: https://openitstudio.ru/php-error-report/output.json For example on line 33168 in input.array: [FatherName] => Yur'evna string "Yur'evna" convert not correct. Has no escaping char "'" Test script: --------------- function object_to_array($obj) { if(is_object($obj)) $obj = (array) $obj; if(is_array($obj)) { $new = array(); foreach($obj as $key => $val) { $new[$key] = object_to_array($val); } } else $new = $obj; return $new; } //recive from API a big oject $rueser = CRunetGateUser::Get($f_UF_RUNET); //generate array (result in file https://openitstudio.ru/php-error-report/input.array) $dump['u'.$f_UF_RUNET][] = object_to_array($rueser); $arr = json_encode($dump); //in anoter script: $runetidUesers = json_decode($arr); //have error on line 33168 in input.array PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Tue Dec 16 17:00:02 2025 UTC |
Do you expect to see Yur\'evna? JSON does not need to escape 's. Do you get an error with json_decode()? What is the error message? json_decode(file_get_contents("https://openitstudio.ru/php-error-report/output.json")) works correctly for me.That error message means you were trying to execute something as PHP code. Using json_decode() alone will not cause it. "//in anoter script:" Use the code in that script to create a short repro for your problem. <?php $dump = array("FatherName" => "Yur'evna"); $arr = json_encode($array); $runetidUesers = json_decode($arr); // repro code goes here ?>