【发布时间】:2013-08-15 18:32:18
【问题描述】:
我很确定在我不知道如何表达之前有人问过这个问题。模组,也许我们可以在找到兼容的答案后折叠这些问题?
我有一个 node.js 服务器,我向它发送一个 URL 以读取或写入 JSON 数据。从 node.js url 解析器看来,字符“?” "#" 和 "&" 被保留,而在 JSON.parse/stringify 端 """ 和 "'" 也被保留。
我该如何解决这个问题?它有点像歌曲数据,因此这些字符可以并且可能出现在标题名称中。
TIA
尼可
更新:
我忘了提到一些事实证明很重要的事情:在节点端,我使用 url 和 querystring 模块,它们有自己的逻辑来操作我的 URL。
【问题讨论】:
-
您需要在 JSON 中对 URL 进行 encode 和 escape 引号以防止冲突。
-
使用
encodeURIComponent()但请注意,因为这不会对单引号进行编码。另一种选择是escape() -
我尝试了上述方法,但在节点中我使用的是 url 和 querystring 模块。从字面上看,它似乎需要 %20,而我得到的是 %23 而不是 & 符号(例如)
标签: javascript node.js url