PHP中用json_decode()无法解析有换行符的字符串

在做主站wap部分数据转移到子站prod.thinkful.cn时,出现了一些以json格式存储的数据无法正常解析的情况,所以研究了一下,PHP中使用json_decode()函数解析带有换行符的字符串时,会有解析失败返回NULL的情况,后来摸索着解决了问题,用函数封装了json的加、解方式(将json编码中文的函数也写在里面了):

// Chinese json
function enjson($code){
    $code = json_encode(urlencodeAry($code));
    return urldecode($code);
}
function urlencodeAry($data){
    if(is_array($data)){
        foreach($data as $key=>$val){
            $data[$key] = urlencodeAry($val);
        }
        return $data;
    }
    else{
        return urlencode($data);
    }
}
// Json decode
function dejson($str){
    $str = str_replace("\\", '\\\\', $str);
    $str = str_replace("\r\n", '\n', $str);
    return json_decode($str, 1);
}

后面只需要调用enjson()、dejson()即可,比较方便。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,061评论 19 139
  • 0、对于 HTTP 协议而言,HTML、CSS、JS、JSON 的本质都是什么? HTML就是符合HTML语法的字...
    怎么昵称阅读 5,536评论 0 3
  • PHP常用函数大全 usleep() 函数延迟代码执行若干微秒。 unpack() 函数从二进制字符串对数据进行解...
    上街买菜丶迷倒老太阅读 5,211评论 0 20
  • .使用数组拼接出如下字符串 var prod = { name: '女装', styles: ['短款', '冬季...
    邢烽朔阅读 3,165评论 0 0
  • 佳迪电动车。凯美瑞,皇冠。
    梦见你了阅读 1,495评论 0 0

友情链接更多精彩内容