比如一串 json 格式为{"name":"HTL","sex":"男","age":"24"},格式化后为以一个键值对占一行的格式,总共三行。此时我想要在前台页面展示格式化后的数据格式。我现在的做法是:写了一个格式化 json 的函数,将格式化后的数据保存在一个变量中,然后前台是将数据放在 span 标签中。现在我有主要几个问题无法解决:
1
cliberal 2017-07-05 16:20:44 +08:00 via iPhone
为啥要放 span 里,直接将格式化后的数据放 pre 里不行么
|
2
vankid 2017-07-05 16:21:38 +08:00
用 html 标签<br>换行就可以,span 赋值直接$("选择符").html(json);
|
3
vankid 2017-07-05 16:25:53 +08:00
如果你不想改写好的格式化工具,那就 json.replace("\n","<br/>");然后传到前台$("选择符").html(json)
|
4
Romanticlizhi OP @vankid 好坑,网上查出一大堆用.innerHTML(),innerText()等等都不行,就是没有.html(),可怜我这个做 Java 的后端了,非常感谢!!!
|
5
seancheer 2017-07-05 16:28:57 +08:00
<pre>标签不会破坏格式。。。顺带,楼主你头像让人耳目一新
|
6
Romanticlizhi OP @vankid 为啥 json.replace(",","<br/>");只有第一行的键值对后面的逗号被替换了。。。。
|
7
ijse 2017-07-05 16:47:09 +08:00
```
const formatedJSON = JSON.stringify(data, null, '\t') ``` 然后把它放到<pre>中就好了。 |
8
ijse 2017-07-05 16:49:34 +08:00
const $pre = document.createElement('pre')
$pre.innerHTML = formatedJSON document.querySelector('span').appendChild($pre) |
9
KeepPro 2017-07-05 16:51:43 +08:00 via Android
女装大佬连这都解决不了了么 233
|
10
FlowerChen 2017-07-05 17:03:44 +08:00
用个循环一个个读出来,放到你要的 DOM 里面,比如 table 里面
|
11
Romanticlizhi OP @ijse 感谢了,但是,请看 append!
|
12
vankid 2017-07-06 15:17:10 +08:00
@Romanticlizhi 我也是个 java 后端啊。。。
|
13
vankid 2017-07-06 15:21:17 +08:00
@Romanticlizhi javascript 是这样子啦,你搜下 replaceAll,有很多写好的方法的。或者你在后台用 java 里的 replace 换
|