打印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对象
  • %sstring

打印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);