如何仅显示带有html标记的json数据中的文本?
我正在尝试呈现数据和如何仅显示带有html标记的json数据中的文本?,json,reactjs,Json,Reactjs,我正在尝试呈现数据和 json数据包含html标记。所以它在中显示如下 浏览者 马库斯19岁 它实际上包含文本形式的html标记 data['id'].map((v)=>( {v.name} {v.age} )) 在react中,如何仅显示文本?理想情况下,您可以向我们展示一个json数据的示例,而不会看到这个答案可能并没有那个么大的帮助 您可以使用危险的LysetinerHTML来呈现html字符串,就像它实际上是html一样: const data = [ { name: "
json数据包含html标记。所以它在
中显示如下 浏览者
- 马库斯
- 19岁
它实际上包含文本形式的html标记
data['id'].map((v)=>(
{v.name}
{v.age}
))
在react中,如何仅显示文本?理想情况下,您可以向我们展示一个json数据的示例,而不会看到这个答案可能并没有那个么大的帮助 您可以使用危险的LysetinerHTML来呈现html字符串,就像它实际上是html一样:
const data = [
{ name: "<li>Marcus</li>", age: "<li>19 year old</li>" },
{ name: "<li>Jane</li>", age: "<li>22 year old</li>" }
];
export default function App() {
return (
<div className="App">
{data.map((v) => (
<>
<div dangerouslySetInnerHTML={{ __html: v.name }} />
<div dangerouslySetInnerHTML={{ __html: v.age }} />
</>
))}
</div>
);
}
const数据=[
{姓名:“马库斯 ”,年龄:“19岁 ”,
{姓名:“简 ”,年龄:“22岁 ”}
];
导出默认函数App(){
返回(
{data.map((v)=>(
))}
);
}
代码沙盒:
我用解决了这个问题
html解析器
我从这里得到了一个建议
你可以像下面这样使用它
从'react html parser'导入ReactHtmlParser';
常量组件=(道具)=>{
const{data}=props;
返回(
{ReactHtmlParser(data.title)}
{/*这将显示hello的粗体文本,而不是hello或任何
json数据的其他html格式*/}
)
}
您可以使用正则表达式提取标记。我对正则表达式很在行,但你应该可以用谷歌搜索它。您还可以使用javascript API从字符串中创建一个元素,然后提取所创建元素的内部文本。
const data = [
{ name: "<li>Marcus</li>", age: "<li>19 year old</li>" },
{ name: "<li>Jane</li>", age: "<li>22 year old</li>" }
];
export default function App() {
return (
<div className="App">
{data.map((v) => (
<>
<div dangerouslySetInnerHTML={{ __html: v.name }} />
<div dangerouslySetInnerHTML={{ __html: v.age }} />
</>
))}
</div>
);
}