gpt4 book ai didi

php - 为什么 JSON 编码器在编码 URL 时添加转义字符?

转载 作者:行者123 更新时间:2023-12-03 01:05:45 26 4
gpt4 key购买 nike

我在 PHP 中使用 json_encode 对 URL 进行编码

$json_string = array ('myUrl'=> 'http://example.com');
echo json_encode ($json_string);

上面的代码生成以下 JSON 字符串:

{"myUrl":"http:\/\/example.com"}   

而不是

{"myUrl":"http://example.com"}

我只是新手,哪个输出是正确的? JSON 解析器能够正确评估第二个输出吗?

最佳答案

根据https://www.json.org/ ,应该转义该字符,尽管在 JavaScript 中并不是严格必要的:

strings

另请阅读此related bug report在 php.net 上进行简短讨论。

请参阅 RFC 的 2.5 :

All Unicode characters may be placedwithin the quotation marks except forthe characters that must be escaped:quotation mark, reverse solidus, andthe control characters (U+0000 throughU+001F).

Any character may be escaped.

所以听起来不像需要被转义,但它可以,并且网站(以及 RFC 中的文本图)将其说明为被转义。

关于php - 为什么 JSON 编码器在编码 URL 时添加转义字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3723243/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com