Node 控制台如何格式化输出 JSON 数据
发布于 10 年前 作者 scorpio 22650 次浏览 最后一次编辑是 8 年前

最近在折腾 node-webkit, 发现 console.log 在命令行界面输出 JSON 数据的时候已经 JSON.parse() 过得数据没有格式化…有办法么…

19 回复

没看明白, 楼主怎么折腾的, 给代码看看?

我在node-webkit项目里面 客户端访问mysql代码:

var Mysql = {
	pool : null,
	init : function(){
		var mysql  = require('mysql');
		Mysql.pool = mysql.createPool({
			host     : '',
			user     : '',
			password : '',
			database : ''
		});
	},
	searchBySin : function(sin){
		Mysql.pool.query('SELECT * FROM xx WHERE xx = xx', function(err, rows, fields) {
			if (err) throw err;
			console.log(rows[0]);
		});	
	}
}
这样输出,我希望是类似![希望格式](http://img5.tuchuang.org/uploads/2014/04/13DE07FF-0612-43BF-ACC4-614098367FE0.png.jpg)
但是实际输出是类似json字符串

console.dir(rows); 是不是要这个效果?

忘记@…

一样的.还是乱码,浏览器不管怎么样都ok,命令行里面不管怎么样都是乱

你现在的输出的内容长什么样子的?

无格式,无空格字符串

@scorpio 无空格可以通过 JSON.stringify({a: 'a'}, null, 2) 来转化的

@jiyinyiyong 我是希望和上面那个console.log(http)一样,这样输出是一个对象展开形式

@scorpio 不了解了, 我一般就用到 JSON.stringify 为止了

可以试下 util.inspect 方法 http://nodejs.org/api/util.html

貌似不是我想要的哈,还是不纠结了…

撸主是想要这样的效果么? node-adodb 大图

binggo,要的就是这样!

JSON.stringify({a:{b:{c:{d:[1,2,3]}}}}, null,2);

@scorpio 楼下的就是正解:

JSON.stringify({a:{b:{c:{d:[1,2,3]}}}}, null,2);

自己重新实现console.log函数啊

回到顶部