You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用he库decode方法解码HTML实体时出现多余反斜杠的解决咨询

问题

我正在使用he库的decode方法解码API获取的HTML实体,除了解码后字符串中的引号被添加转义反斜杠外,其余功能正常,不清楚该现象的原因,请问如何消除该问题?

我的代码片段:

const resultAnswersCombined = resultNewAttribute.map(item => {
  return {
    ...item,
    answers: [item.correct_answer, ...item.incorrect_answers],
    question: he.decode(item.question) 
  }
})

关键代码行:

question: he.decode(item.question) 

使用上述代码后,console.log输出:

question: "Who played Deputy Marshal Samuel Gerard in the 1993 
film \"The Fugitive\"?"

若直接使用未解码的字段:

question: item.question

输出为:

question: "Who played Deputy Marshal Samuel Gerard in the 1993 
film "The Fugitive"?"

补充细节:问题中的'被正确解码为'。

解决方法

你看到的转义反斜杠并不是实际存在于字符串里的内容,只是console.log在打印包含双引号的字符串时,为了区分字符串的边界和内部引号自动加上的格式化标记。实际存储在变量中的字符串并没有这些反斜杠,完全不影响后续使用。

如果要验证这一点,你可以把解码后的question插入到页面DOM元素中,或者直接打印字符串本身:

console.log(he.decode(item.question))

此时控制台会输出无转义的原始内容:

Who played Deputy Marshal Samuel Gerard in the 1993 
film "The Fugitive"?

如果后续需要做JSON序列化,这种转义是标准行为,不需要额外处理——he.decode已经完成了HTML实体到正常字符的转换,序列化时的转义不会改变字符串的实际含义。

内容的提问来源于stack exchange,提问作者lordpotato89

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 22:45:34