js的一个字典,如果换行怎么做

比如后端传给我一个对象

a = {'a':1,'b':2,'c':3}

把a显示到一个表格的td中,那么就直接是一排,这样很难看,我想变成

{
    'a':1,
    'b':2,
    'c':3
}

可以实现不?

阅读 2.8k
2 个回答

传给你的时候一般是JSON,对吧?
你用的Ajax方法应该会自动把它转成一个对象,你用JSON.stringify再把它转成一个字符串,转的时候只要增加第三个参数就能达到格式化的目的了。(第二个参数作用是筛选需要转成字符串的属性,默认置null就行;第三个参数如果是一个数字,就是每行属性换行前的空格,如果是一个字符串,就会加到每行属性的前边)
另外,还有一点要注意的,就是字符串所在容器的white-space属性一般是默认值normal,如果想让字符串显示出换行并且不折叠空格,需要改成pre才行。

Demo:


HTML:

<script src="//cdn.bootcss.com/jquery/3.3.1/core.js"></script>
<div id="ssss"></div>

CSS:

#ssss {
    width: 200px;
    height: 200px;
    border: 1px solid red;
    white-space: pre;
}

JS:

var a = {a:1,b:2,c:3};
var str = JSON.stringify(a, null, '\t'); \\制表符,对齐时会比较好看,当然改成纯数字也行,那样的话缩进就是数字对应的空格了
$('#ssss').html(str);

大概效果:

clipboard.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题