通常来说,json字符串是key:value形式的字符串,正常key是由双引号括起来的。
例如:
'fdipzone');echo json_encode($data); // {name:fdipzone}print_r(json_decode(json_encode($data), true)); //array ( [name] => fdipzone )?>
但如果json字符串的key缺少双引括起来,则json_decode会失败。
string(8) fdipzone }$str1 = '{name:fdipzone}';var_dump(json_decode($str1, true)); // null?>
解决方法:判断是否存在缺少双引括起来的key,如缺少则先用正则替换为key,再进行json_decode操作。
string(8) fdipzone }$str1 = '{name:fdipzone}';var_dump(ext_json_decode($str1, true)); // array(1) { [name]=> string(8) fdipzone }?>
希望本文所述对大家php程序设计的学习有所帮助。