Javascript 将JSON呈现为HTML

Javascript 将JSON呈现为HTML,javascript,jquery,html,json,Javascript,Jquery,Html,Json,我使用下一个代码获取JSON数据: $.getJSON( "data.json",function foo(result) { $.each(result[1].data.children.slice(0, 10), function (i, post) { $("#content").append( '<br> HTML <br>' + post.data.body_html );

我使用下一个代码获取JSON数据:

$.getJSON(
     "data.json",function foo(result) {
       $.each(result[1].data.children.slice(0, 10),
        function (i, post) {
          $("#content").append( '<br> HTML <br>' + post.data.body_html );       
        }
      )
    }
 )

 <div id="content"></div>
$.getJSON(
“data.json”,函数foo(结果){
$.each(结果[1].data.children.slice(0,10),
职能(一、员额){
$(“#内容”).append(“
HTML
”+post.data.body_HTML); } ) } )
其中一些字符串包括:
,这些字符串没有显示为常规html
尝试使用
.html()
代替
.append()
无效

下面是一个实时示例

使用
$.parseHTML()
jQuery
方法

var myData = "yourHtml with &lt;" //

$("#content").append($.parseHTML(myData));

这里是一个jsfiddle:

最简单的方法之一是

var t= post.data.body_html;
t.replace('&lt','<').replace('&gt', '>');
$("#content").append( '<br> HTML <br>' + t ); 
var t=post.data.body\u html;
t、 替换(“<”和“”);
$(“#内容”).append(“
HTML
”+t);
试试这个方法

var htmlString = $("<div/>").html(data).text();
var htmlString=$(“”).html(数据).text();

以下是您想要的:

var jsonRequestUrl='0http://www.reddit.com/r/funny/comments/1v6rrq.json';
var解码器=$('');
var decodedText='';
$.getJSON(jsonRequestUrl,函数foo(结果){
var elements=result[1].data.children.slice(0,10);
$.each(元素、函数(索引、值){
html(value.data.body_html);
decodedText+=decoder.text();
});
$(“#内容”).append(decodedText);
});

编辑:将此作为一个简单的示例保留在这里

// Encoded html
var encoded = '&lt;div style="background:#FF0"&gt;Hello World&lt;/div&gt;';

// Temp div to render html internally
var decode = $('<div />').html(encoded).text();

// Add rendered html to DOM
$('#output').append(decode);
//编码的html
var encoded='div style=“background:#FF0”Hello World/div';
//在内部呈现html的临时div
var decode=$('').html(编码).text();
//将呈现的html添加到DOM
$('#output')。追加(解码);

如果你想要一个好的可折叠渲染,我已经为此编写了一个模块。它是纯JavaScript的,因此您可以在任何框架中使用它

如果您正在使用AngularJS,它也可以作为AngularJS指令使用

在此处签出演示:

它还支持主题,因此您可以更改颜色:

您可能想试一试。使用本机JavaScript、jQuery和node.js。允许完全自定义生成的HTML。

另一个用于呈现JSON对象的库是:

尽管它有一种极简风格,但它允许点击JSON结构

用法示例:

document.getElementById("test").appendChild (renderjson (data));
只需使用的第3个(
space
)参数格式化json,并使用
标记显示

constjson={foo:{bar:'hello'}
$('html').append(''+JSON.stringify(JSON,null,2)+'')

你能粘贴你的响应控件/函数吗?我更新了你的实例并给出了答案。我已经发布了我的结果:我想他想要的是真正的html?我想这是模棱两可的,为什么你要做这些操作?我不明白这个问题,在butrhis对我也不起作用之前,maybeI尝试了
.replace()
,你能尝试在我的示例中添加这个吗?我的保护程序!谢谢!:)我试过了。我只想呈现JSON结构,不想定义或自定义任何内容。此库的示例用法:
var transform={'':'div','text':'${name}(${age})};变量数据=[{'name':'Bob','age':40},{'name':'Frank','age':15},{'name':'Bill','age':65},{'name':'Robert','age':24}];write(json2html.transform(data,transform))我期望的是:
document.write(json2html(data)),但是此库显然没有此功能。
document.getElementById("test").appendChild (renderjson (data));