Node 控制台如何格式化输出 JSON 数据
 发布于 11 年前  作者 scorpio  24279 次预览  最后一次回复是 9 年前  来自  

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

19 回复
jiyinyiyong

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

scorpio

我在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字符串
ldl694178563

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

scorpio

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

jiyinyiyong

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

scorpio

无格式,无空格字符串

jiyinyiyong

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

scorpio

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

jiyinyiyong

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

scorpio

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

Nuintun

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

scorpio

binggo,要的就是这样!

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

@scorpio 楼下的就是正解:

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

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