【问题标题】:Characters in other forms其他形式的字符
【发布时间】:2013-08-15 18:32:18
【问题描述】:

我很确定在我不知道如何表达之前有人问过这个问题。模组,也许我们可以在找到兼容的答案后折叠这些问题?

我有一个 node.js 服务器,我向它发送一个 URL 以读取或写入 JSON 数据。从 node.js url 解析器看来,字符“?” "#" 和 "&" 被保留,而在 JSON.parse/stringify 端 """ 和 "'" 也被保留。

我该如何解决这个问题?它有点像歌曲数据,因此这些字符可以并且可能出现在标题名称中。

TIA

尼可

更新:

我忘了提到一些事实证明很重要的事情:在节点端,我使用 url 和 querystring 模块,它们有自己的逻辑来操作我的 URL。

【问题讨论】:

  • 您需要在 JSON 中对 URL 进行 encodeescape 引号以防止冲突。
  • 使用 encodeURIComponent() 但请注意,因为这不会对单引号进行编码。另一种选择是escape()
  • 我尝试了上述方法,但在节点中我使用的是 url 和 querystring 模块。从字面上看,它似乎需要 %20,而我得到的是 %23 而不是 & 符号(例如)

标签: javascript node.js url


【解决方案1】:

由于我在 Node 中使用的 URL 和 querystring 模块会根据它们自己的逻辑解析 url,因此我选择将我的 URL 的查询部分视为字符串化的 JSON。我对应用程序具有端到端控制权,因此我将确保我发送的 URL 具有字符串化 JSON 作为 url 的查询部分。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-11
    相关资源
    最近更新 更多