我有一个javascript对象已经使用JSON.parse
进行了JSON解析我现在想要打印对象以便我可以调试它(函数出错了)。当我做以下事情时......
for (property in obj) {
output += property + ': ' + obj[property]+'; ';
}
console.log(output);
我列出了多个[object Object]。我想知道如何打印它才能查看内容?
答案 0 :(得分:513)
你知道JSON代表什么吗? JavaScript Object Notation 。它为对象提供了非常好的格式。
JSON.stringify(obj)
会返回对象的字符串表示形式。
答案 1 :(得分:112)
大多数调试器控制台都支持直接显示对象。只需使用
console.log(obj);
根据您的调试器,这很可能会将控制台中的对象显示为折叠树。您可以打开树并检查对象。
答案 2 :(得分:51)
答案 3 :(得分:34)
打印JSON解析对象只需键入
console.log( JSON.stringify(data, null, " ") );
你会得到非常明确的输出
答案 4 :(得分:2)
提醒对象或数组内容的简单功能 使用数组或字符串或它提醒内容的对象调用此函数。
功能的
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);
答案 5 :(得分:2)
以下代码将在警告框中显示完整的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));
答案 6 :(得分:1)
如果您想调试为什么不使用控制台调试
window.console.debug(jsonObject);
答案 7 :(得分:1)
好而简单:
console.log("object: %O", obj)
答案 8 :(得分:0)
如果您正在服务器上使用js工作,那么进行更多的体操工作将会非常有帮助...这是我的ppos(服务器上的漂亮打印):
ppos = (object, space = 2) => JSON.stringify(object, null, space).split('\n').forEach(s => console.log(s));
在创建我在编写服务器代码时可以实际读取的内容方面做得很出色。
答案 9 :(得分:0)
我不知道它从未正式制作过,but I've added my own json
method到console
对象可以更轻松地打印带字符串的日志:
在javascript中观察对象(非原始对象)有点像量子力学。.“ measure” 可能不是真实状态,已经改变了。
console.json = console.json || function(argument){
for(var arg=0; arg < arguments.length; ++arg)
console.log( JSON.stringify(arguments[arg], null, 4) )
}
// use example
console.json( [1,'a', null, {a:1}], {a:[1,2]} )
很多时候需要查看一个对象的字符串化版本,因为按原样打印它(原始对象)将打印该对象的“实时”版本,该版本会随着程序的进行而发生变化,并且不会镜像状态对象在记录的时间点的位置,例如:
var foo = {a:1, b:[1,2,3]}
// lets peek under the hood
console.log(foo)
// program keeps doing things which affect the observed object
foo.a = 2
foo.b = null