【问题标题】:How can I send HTML over JSON (in JS / Node)如何通过 JSON 发送 HTML(在 JS/Node 中)
【发布时间】:2013-06-14 23:45:16
【问题描述】:

我正在尝试从只能返回有效 JSON 的服务返回 html sn-p。

我尝试了一些类似的方法:

这让我得到了一堆字符,如 \n\n\n\n\t\t\t\t

return JSON.stringify({html: $('body').html()});

return JSON.stringify($('body').html());

在接收端,我希望能够通过 Cheerio、jQuery 或 JSDom 解析该 HTML,这样我就可以在该数据上运行 $(".some_selector") 之类的查询.

这样做的正确方法是什么?任何可以为我处理转义的特殊库/方法? google了一下,没有明确的结果……

谢谢。

【问题讨论】:

标签: html json node.js


【解决方案1】:

在接收端,您需要简单地撤消 JSON 序列化。就是这样!

您的 HTML 将采用其常规格式 obj.html,然后您可以使用所需的任何 DOM 解析器对其进行解析。

【讨论】:

    【解决方案2】:

    好吧,您可能需要担心 HTML 中的引号(例如属性),因为这可能会干扰分隔 JSON 值的引号。

    这里是 similar questionthis web page,它们解释了您需要考虑的一些问题。

    简要查看 npmsj.org,我没有看到任何有信誉的模块可以帮助您使 HTML JSON 兼容,但我认为您可以很容易地自己解决,给定足够大的 HTML 样本集.您始终可以通过this validator 运行您的 JSON 来检查它。我想你也可以简单地对它做一个 JSON.parse(jsonContainingHtml) 。如果字符串不是有效的 JSON,你会得到一个异常。

    【讨论】:

      猜你喜欢
      • 2019-07-10
      • 1970-01-01
      • 2020-11-28
      • 2011-07-01
      • 2022-11-11
      • 2019-04-18
      • 2020-09-23
      • 1970-01-01
      相关资源
      最近更新 更多