微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

json_encode转义正斜杠

如何解决json_encode转义正斜杠

有没有办法禁用它?

是的,您只需要使用该JSON_UnesCAPED_SLASHES标志。

阅读之前:https ://stackoverflow.com/a/10210367/367456(知道你在做什么- 知道你的敌人)

json_encode($str, JSON_UnesCAPED_SLASHES);








<?PHP
/*
 * Escaping the reverse-solidus character ("/", slash) is optional in JSON.
 *
 * This can be controlled with the JSON_UnesCAPED_SLASHES flag constant in PHP.
 *
 * @link http://stackoverflow.com/a/10210433/367456
 */

$url = 'http://www.example.com/';

echo json_encode($url), "\n";

echo json_encode($url, JSON_UnesCAPED_SLASHES), "\n";

示例输出

"http:\/\/www.example.com\/"
"http://www.example.com/"

解决方法

我从Instagram提取JSON:

$instagrams = json_decode($response)->data;

然后将变量解析为PHP数组以重组数据,然后重新编码和缓存文件:

file_put_contents($cache,json_encode($results));

当我打开缓存文件时,我所有的正斜杠“ /”都被转义了:

http:\/\/distilleryimage4.instagram.com\/410e7...

我从搜索中收集到json_encode()自动执行此操作…是否可以禁用它?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。