当前位置:Gxlcms > PHP教程 > phpjson转数组出错

phpjson转数组出错

时间:2021-07-01 10:21:17 帮助过:3人阅读

php json转数组出错求助
1:先输出json
  1. <br>
  2. //组合医生信息JSON<br>
  3. $jsonDoctorInfo = "{\"mecdoctor\":[";<br>
  4. $jsonDoctorInfo .= "{\"doctorId\":\"".$doctorId."\",\"doctorName\":\"".$strDoctorName."\", \"doctorprice\":\"".$strPrice."\",\"expertise\":\"".$strExpertise."\",\"departments\":\"".$strdepartments."\",\"doctorTitle\":\"".$strTitle."\",\"doctorPhoto\":\"".$strDoctorPhoto."\"}";<br>
  5. $jsonDoctorInfo .= "]}";<br>

2:获取并decode
$jsonGetDoctorInfoData = json_encode($jsonGetDoctorInfoData);
$objGetDoctorInfoData = json_decode($jsonGetDoctorInfoData);
输出:
  1. <br>
  2. {"mecdoctor":[{"doctorId":"","doctorName":"XXXX", "doctorprice":"122","expertise":"XXXXX","departments":"医内科","doctorTitle":"主任医师","doctorPhoto":"hmh"}]}<br>
  3. <br>

3:将json转换成数组
  1. <br>
  2. //解析JSON数据<br>
  3. function _json_decode($json){<br>
  4. $comment = false;<br>
  5. $out = '$x=';<br>
  6. for ($i=0; $i<strlen($json);$i++){<br>
  7. if (!$comment){<br>
  8. if ( ($json[$i] == '{') || ($json[$i] == '[') )<br>
  9. $out .= ' array(';<br>
  10. else if (($json[$i] == '}') || ($json[$i] == ']'))<br>
  11. $out .= ')';<br>
  12. else if ($json[$i] == ':')<br>
  13. $out .= '=>';<br>
  14. else<br>
  15. $out .= $json[$i]; <br>
  16. }else<br>
  17. $out .= $json[$i];<br>
  18. if($json[$i]== '"' && $json[($i-1)]!="\\")<br>
  19. $comment = !$comment;<br>
  20. }<br>
  21. eval($out.";");<br>
  22. <br>
  23. return $x;<br>
  24. }<br>
  25. </strlen($json);$i++){<br>

4:出现问题
Parse error: syntax error, unexpected T_DOUBLE_ARROW in /home/u945504094/public_html/config/config.inc.php(876) : eval()'d code on line 1


分享到:


------解决方案--------------------
没有问题呀
  1. $s = '{"mecdoctor":[{"doctorId":"","doctorName":"XXXX", "doctorprice":"122","expertise":"XXXXX","departments":"医内科","doctorTitle":"主任医师","doctorPhoto":"hmh"}]}';<br>
  2. <br>
  3. print_r(_json_decode($s));<br>
  4. <br>
  5. function _json_decode($json){<br>
  6. $comment = false;<br>
  7. $out = '$x=';<br>
  8. for ($i=0; $i<strlen($json);$i++){<br>
  9. if (!$comment){<br>
  10. if ( ($json[$i] == '{') <br><font color="#FF8000">------解决方案--------------------</font><br> ($json[$i] == '[') )<br>
  11. $out .= ' array(';<br>
  12. else if (($json[$i] == '}') <br><font color="#FF8000">------解决方案--------------------</font><br> ($json[$i] == ']'))<br>
  13. $out .= ')';<br>
  14. else if ($json[$i] == ':')<br>
  15. $out .= '=>';<br>
  16. else<br>
  17. $out .= $json[$i]; <br>
  18. }else<br>
  19. $out .= $json[$i];<br>
  20. if($json[$i]== '"' && $json[($i-1)]!="\\")<br>
  21. $comment = !$comment;<br>
  22. }<br>
  23. eval($out.";");<br>
  24. <br>
  25. return $x;<br>
  26. }<br>
  27. </strlen($json);$i++){<br>
  1. Array<br>
  2. (<br>
  3. [mecdoctor] => Array<br>
  4. (<br>
  5. [0] => Array<br>
  6. (<br>
  7. [doctorId] =>

人气教程排行