转换imple JSON对象为格式的HTML(JavaScript或jQuery的)
问题描述:
我有这样一群对象:转换imple JSON对象为格式的HTML(JavaScript或jQuery的)
"value": {
"something": true,
"another": false,
"testing": true,
"bob": "Hello",
"restrooms": true,
"price_rating": 1,
}
我只是想要做的是使内部value
的项目,如HTML。有点像:
"something": true
"another": false
"testing": true
"bob": "Hello"
"restrooms": true
"price_rating": 1
有一个简单的方法来做到这一点,而无需编写一些复杂的each
,每次追加的每个项目呢?值得注意的是,这些对象将具有不同的属性和属性数量。
答
转换使用JSON.stringify(obj, null, 2)和输出的内容的对象,以漂亮的字符串到<pre>
标签
var a = {
"value": {
"something": true,
"another": false,
"testing": true,
"bob": "Hello",
"restrooms": true,
"price_rating": 1,
}
};
document.getElementById("output").innerHTML = JSON.stringify(a.value, null, 2);
<pre id="output"></pre>
答
您可以将任何对象转换成JSON字符串格式
JSON.stringify(x.value)
答
如果你需要它作为html没有json大括号和引号可以做一些事情像:
let data = {
"value": {
"something": true,
"another": false,
"testing": true,
"bob": "Hello",
"restrooms": true,
"price_rating": 1,
}
},
displayObj = data.value,
html = Object.keys(displayObj)
.map(key => key + ': ' + displayObj[key].toString()).join('<br>')
document.body.innerHTML = html
答
您可以将对象转换为字符串,并使用replace
功能。
var jsonobj = {"value": {
"something": true,
"another": false,
"testing": true,
"bob": "Hello",
"restrooms": true,
"price_rating": 1,
}};
var str = JSON.stringify(jsonobj.value);
str = str.replace(/,/g, '<br/>').replace('{', '').replace('}', '');
document.getElementById("output").innerHTML = str;
<div id="output"></div>
'value'在这种情况下,全JSON的只是一个嵌套的一部分。 – jonmrich