美文网首页
json_decode控制字符处理

json_decode控制字符处理

作者: 钧辉 | 来源:发表于2019-06-17 00:36 被阅读0次

    问题

        php中使用json_decode时,发现decode出来的结果是NULL。看日志,传入的参数的确是一个合法的json字符串,但decode之后却是为空,实在是让人抓不住头脑。

    调试

        想到php里面有个 json_last_error 的方法,根据官方说法,会返回 JSON 编码解码时最后发生的错误。加上后一看,果然,decode出问题了。返回的错误是 JSON_ERROR_CTRL_CHAR,表示控制字符错误,可能是编码不对。

        这难道是字符串里面混入了控制字符?不多想,遂上网查了下解决方法。

    解决

        解决方法其实很简单,就是执行一个正则表达式搜索和替换控制字符

    preg_replace( '/[\x00-\x1F]/','',$str);
    

    相关文章

      网友评论

          本文标题:json_decode控制字符处理

          本文链接:https://www.haomeiwen.com/subject/ybznfctx.html