Javascript函数以格式化样式打印对象属性

时间:2014-02-25 19:30:04

标签: javascript object

我想像php print_r一样打印一个javascript对象。我不想使用<pre>代码,因为我不仅仅定位HTML,更多的是在控制台上。

我编写了以下函数并期望它可以工作,但它只适用于第一级成员,不会移动到嵌套对象。但是,使用:

typeof item =='object'

运算符,我想查看当前的循环项是否为“object”,它总是返回'string'。如果我从函数中检查某个属性的类型,它将返回'object'。这是应检查两个级别但不检查的功能。 (在FireBug中测试)

 function print_object (array)
    {
       var type = "";
       function parse_object (array)
       {
           var stack = ""; // escaping the undefined string appended to the beginning
           for(item in array)
           {
            if(typeof item != "undefined")
            {
            stack += ((item+"\n"));
            }
           }
           return stack;
       }
       var stack = ""; // escaping the undefined string appended to the beginning
       for(item in array)
       {
        if(typeof item != "undefined")
        {
        stack += ((item+"\n"));
        }
        type += (typeof item+"\n");
       }
       console.log(stack);
       console.log(type);
    }

我的目标如下:

var myObj = {
    "name" : "mostafa",
    "lastname" : "talebi",
    "contact" : {
                "email" : "myEmail",
                "mobile" : "myMobile",
                "weblog" : "myBlog"
                }   
}

并执行:

print_object(myObj);

1 个答案:

答案 0 :(得分:0)

如何使用JSON.stringify,您可以指定自定义标记,例如&#34; \ t&#34;

var myObj = {
    "name" : "mostafa",
    "lastname" : "talebi",
    "contact" : {
                "email" : "myEmail",
                "mobile" : "myMobile",
                "weblog" : "myBlog"
                }   
}


console.log(JSON.stringify(myObj, null, "\t"));