我的数据库中有一些URL,我想使用PHP将它们打印为JSON。如何在我的JSON对象中获取所需的格式而不转义反斜杠?
// Business to get data
...
// print JSON data
echo json_encode($customer, JSON_UNESCAPED_UNICODE);
答案 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获得非转义字符串的方式。