tornado 模板加载一段json数据格式显示问题

我在一个tornado应用的handler中从mongodb中读到了一个集合的所有文档,将转换成了json格式,然后我用这些json数据为传入了tornado模板中,显示在了浏览器中。

handler的代码是样的:

class MainHandler(BaseHandler):
    def get(self):
        codes = self.db.code.find()        
        result = json.dumps(list(codes), 
            default=json_util.default, 
            sort_keys=True, 
            ensure_ascii=False, 
            indent=4)
        print result
        self.render('index.html', content = result)

浏览器中显示是这样的:

https://img2.mukewang.com/5bd5a4b50001b72607550192.jpg

就是一个没换行的状态。

在终端打印时,却又是换了行的:

https://img4.mukewang.com/5bd5a4c70001baec05360485.jpg

记得在django中,可以使用content.linebreaks来换行换行之类的,在tornado中,却没找到这种方法。

烦请帮助一下。


米脂
浏览 1087回答 1
1回答

一只斗牛犬

dumps的时候,是不会加缩进之类的。你的dumps指定了indent=4。indent参数针对打印输出时候的format。具体可以看文档:If indent is a non-negative integer (it is None by default), then JSON array elements and object members will be pretty-printed with that indent level. An indent level of 0 will only insert newlines. None is the most compact representation.还有一个比较好的工具,标准库pprint用来print对象的时候显示更美观:from pprint import pprint pprint(your_obj)
打开App,查看更多内容
随时随地看视频慕课网APP