如何从json_encode输出中删除转义的特殊字符

时间:2017-03-11 01:35:50

标签: php json

我的数据库中有一些URL,我想使用PHP将它们打印为JSON。如何在我的JSON对象中获取所需的格式而不转义反斜杠?

// Business to get data
...
// print JSON data
echo json_encode($customer, JSON_UNESCAPED_UNICODE);

Enter image description here

1 个答案:

答案 0 :(得分:16)

这听起来像一个典型的XY problem。在很少的情况下你想要忘记JSON(我说这是礼貌的,我不能想到一个)并且在你的情况下,你的代码建议你回应那个JSON以便它可以消耗别处。

其他地方可能意味着在使用JavaScript的客户端上。有JSON.parse函数可以完全按照您的需要执行操作,还有更多:它将JSON(正确的JSON,仍有其转义的反斜杠)转换为本机JavaScript对象。

echo json_encode(["url" => "http://stackoverflow.com"]);
// {"url":"http:\/\/stackoverflow.com"}
// out of scope, but response is the response from your ajax call
var parsedJson = JSON.parse(response);
console.log(parsedJson.url);
// http://stackoverflow.com

这就是你实际从JSON获得非转义字符串的方式。