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

Next.js中如何解析JSON字符串并渲染带HTML标签的内容

问题解决方法

你遇到的核心问题是Next.js/React默认会自动转义HTML内容,直接将带HTML标签的字符串放入JSX中,会被当作纯文本渲染,而非解析成HTML元素。你的parseTitle函数实际上没有起到任何作用——它只是匹配并替换了转义后的<b>标签(&lt;b&gt;),但原JSON里的title本身包含的是真实的<b>标签,这个函数完全多余。

正确解决方案

使用Next.js/React提供的dangerouslySetInnerHTML属性,直接渲染原始HTML内容:

<h1 dangerouslySetInnerHTML={{ __html: votingInfo.title }} />

注意事项

  • dangerouslySetInnerHTML之所以带"dangerously"前缀,是因为如果渲染的内容来自不可信的用户输入,可能会引发XSS攻击。如果你的title内容是自己维护的JSON文件,不存在安全风险,可以放心使用。
  • 如果需要处理不可信内容,建议先通过dompurify等库对HTML进行净化,再传入__html中。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 06:13:15