如何使用javascript将json值转换为html?
我正在获取一个json对象,如下所示:如何使用javascript将json值转换为html?,javascript,html,json,template-literals,Javascript,Html,Json,Template Literals,我正在获取一个json对象,如下所示: { title: "My entry", entry: "I am a paragraph. I have <em>italics</em> and other styling html. I am the second paragraph. I am the third graf,
{
title: "My entry",
entry: "I am a paragraph. I have <em>italics</em> and other styling html.
I am the second paragraph.
I am the third graf, here is a <a href='#'>link</a>. "
}
{
标题:“我的作品”,
条目:“我是一个段落。我有斜体和其他样式的html。
我是第二段。
我是第三个格拉夫,这里有一个。”
}
然后我使用模板文本在页面上添加对象,如下所示
const myJson = out.response.items.map((item, index) => {
return `<div data-item="${index}">
<h2>${item.title}</h2>
${item.entry}
</div>`;
});
content.innerHTML = myJson;
constmyjson=out.response.items.map((item,index)=>{
返回`
${item.title}
${item.entry}
`;
});
content.innerHTML=myJson;
我遇到的问题是希望${item.entry}观察json中的html和段落分隔符。我该怎么做?只需将所有换行符替换为
,并正确设置锚定标记的格式即可
const content=document.getElementById(“内容”);
常数数据=[{
标题:“我的作品”,
条目:“我是一个段落。我有斜体和其他样式的html。\n\n我是第二个段落。\n我是第三个段落,这里是一个。”
}]
const myJson=data.map((项,索引)=>{
返回`
${item.title}
${item.entry.replaceAll(“\n”,“
”)
`;
});
content.innerHTML=myJson代码>
您可以使用以下正则表达式拆分条目
:/\s*\n\s*/g
const content=document.querySelector('.content');
常数输出={
答复:{
项目:[{
标题:“我的作品”,
条目:`我是一个段落。我有斜体和其他样式的html。
我是第二段。
我是第三个格拉夫,这里有一个`
}]
}
};
constmyhtml=out.response.items.map({title,entry},index)=>`
${title}
${entry.trim().split(/\s*\n\s*/g).map(p=>`${p}`).join(“”)}
`).加入(“”);
content.innerHTML=myHtml代码>
像这样的东西
var响应=[{
标题:“我的作品”,
条目:“我是一个段落。我有斜体和其他样式的html。\n我是第二段。\n\n我是第三段,这里是一个。”
}];
const myJson=response.map((项目,索引)=>{
var entries=item.entry.split('\n');
entries\u filtered=entries.filter(x=>x!='');
var entries\u html=entries\u filtered.map(ent=>`${ent}`).join(“”);
返回`
${item.title}
${entries\u html}
`;
});
log(myJson)代码>没有正确的答案,有效的方法将取决于您的HTML/CSS样式决定。正如下面提到的,您可以用
标记替换/n
,
标记,或者您可以使用样式化的div
/span什么是“graf breaks”意思?段落打断好的,请参阅下面的我的内容。您可以简单地用
标记将其包装起来${item.entry}
@stepd请检查这是否解决了您的问题,如果您有任何问题,请告诉我。数据来自google工作表,因此我无法更改json值的周围引号?@stepd您编写的数据是无效字符串,数据必须包含换行符的\n
。json在控制台@StephD中看起来是这样的。我已经更新了我的答案。看一看,您只需用br
标记替换字符串中的换行符即可。谢谢!我会在regex中查找links/italic/strong标记吗?@StephD难道你不需要将文字换行符之间的文本转换成单独的段落吗?就是这样。您正在使用innerHTML
设置HTML值。我还想观察样式标记(,)和links@StephD在这种情况下,“观察”是什么意思?你能在你的问题中说明你期望的结果是什么吗。如果设置HTML,将显示标记。我不知道你是什么意思?