2017-08-03 43 views
0

我有这样一群对象:转换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,每次追加的每个项目呢?值得注意的是,这些对象将具有不同的属性和属性数量。

+0

'value'在这种情况下,全JSON的只是一个嵌套的一部分。 – jonmrich

回答

3

转换使用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>

1

您可以将任何对象转换成JSON字符串格式

JSON.stringify(x.value) 
1

如果你需要它作为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

0

您可以将对象转换为字符串,并使用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>

相关问题