我有一个javascript对象,它已经被JSON解析使用JSON。我现在想打印对象,这样我就可以调试它(函数出了问题)。当我做以下事情时……

for (property in obj) {
    output += property + ': ' + obj[property]+'; ';
}
console.log(output);

我得到了多个[object object]。我想知道我要如何打印这个才能查看内容?


当前回答

只使用

console.info("CONSOLE LOG : ")
console.log(response);
console.info("CONSOLE DIR : ")
console.dir(response);

你会在chrome控制台得到这个:

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

其他回答

大多数调试器控制台支持直接显示对象。只使用

console.log(obj);

根据调试器的不同,这很可能会在控制台中以折叠树的形式显示对象。您可以打开树并检查对象。

尝试console.dir()而不是console.log()

console.dir(obj);

MDN说console.dir()支持:

FF8 + IE9 + 歌剧 铬 Safari

只使用

console.info("CONSOLE LOG : ")
console.log(response);
console.info("CONSOLE DIR : ")
console.dir(response);

你会在chrome控制台得到这个:

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

下面的代码将在警报框中显示完整的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.log("object: %O", obj)