打印JSONparsing对象?
我有一个JavaScript对象已被JSONparsing使用JSON.parse
我现在要打印的对象,所以我可以debugging它(function出了问题)。 当我做以下…
for (property in obj) { output += property + ': ' + obj[property]+'; '; } console.log(output);
我得到了多个[对象对象]的列表。 我想知道如何打印这个以查看内容?
大多数debugging器控制台都支持直接显示对象。 只是使用
console.log(obj);
根据您的debugging器,这很可能会将控制台中的对象显示为折叠树。 您可以打开树并检查对象。
你知道JSON代表什么? JavaScript对象表示法 。 它为对象提供了一个非常好的格式。
JSON.stringify(obj)
将返回对象的string表示forms。
尝试console.dir()
而不是console.log()
console.dir(obj);
MDN说console.dir()
是受支持的:
- FF8 +
- IE9 +
- 歌剧
- 铬
- 苹果浏览器
如果你想要一个漂亮的,带缩进的多行JSON,那么你可以使用带有第三个参数的JSON.stringify
:
JSON.stringify(value[, replacer[, space]])
例如:
var obj = {a:1,b:2,c:{d:3, e:4}}; JSON.stringify(obj, null, " ");
要么
JSON.stringify(obj, null, 4);
会给你以下结果:
"{ "a": 1, "b": 2, "c": { "d": 3, "e": 4 } }"
在浏览器console.log(obj)
做的更好,但是在shell控制台(node.js)中却没有。
使用string格式;
console.log("%s %O", "My Object", obj);
Chrome具有以下格式说明符 ;
-
%s
将该值格式化为一个string。 -
%d
或%i
将该值格式化为整数。 -
%f
将该值格式化为浮点值。 -
%o
将值格式化为可展开的DOM元素(如在“元素”面板中)。 -
%O
将该值格式化为可展开的JavaScript对象。 -
%c
根据您提供的CSS样式格式化输出string。
火狐也有string替代有相似的选项。
-
%o
将超链接输出到JavaScript对象。 点击链接打开检查员。 -
%d
或%i
输出一个整数。 格式尚不支持。 -
%s
输出一个string。 -
%f
输出一个浮点值。 格式尚不支持。
Safari具有printf样式的格式器
-
%d
或%i
整型 -
%[0.N]f
精度为N位的浮点值 -
%o
对象 -
%s
string
打印JSONparsing对象只需键入
console.log( JSON.stringify(data, null, " ") );
你会得到非常清晰的输出
简单的function来提醒对象或数组的内容。
用一个数组或string或者一个对象来调用这个函数来提醒内容。
function
function print_r(printthis, returnoutput) { var output = ''; if($.isArray(printthis) || typeof(printthis) == 'object') { for(var i in printthis) { output += i + ' : ' + print_r(printthis[i], true) + '\n'; } }else { output += printthis; } if(returnoutput && returnoutput == true) { return output; }else { alert(output); } }
用法
var data = [1, 2, 3, 4]; print_r(data);
以下代码将在alert框中显示完整的json数据
var data= '{"employees":[' + '{"firstName":"John","lastName":"Doe" },' + '{"firstName":"Anna","lastName":"Smith" },' + '{"firstName":"Peter","lastName":"Jones" }]}'; json = JSON.parse(data); window.alert(JSON.stringify(json));
只是使用
console.info("CONSOLE LOG : ") console.log(response); console.info("CONSOLE DIR : ") console.dir(response);
你会得到这个在铬控制台:
CONSOLE LOG : facebookSDK_JS.html:56 Object {name: "Diego Matos", id: "10155988777540434"} facebookSDK_JS.html:57 CONSOLE DIR : facebookSDK_JS.html:58 Objectid: "10155988777540434"name: "Diego Matos"__proto__: Object
如果你想debugging为什么不使用控制台debugging
window.console.debug(jsonObject);