如何将JavaScript对象转换为字符串?

例子:

var o = {a:1, b:2}
console.log(o)
console.log('Item: ' + o)

输出:

对象{a=1, b=2} //非常好的可读输出:) Item: [object object] //不知道里面有什么:(


当前回答

如果你只是输出到控制台,你可以使用console.log('string:', obj)。注意逗号。

其他回答

如果您正在使用Dojo javascript框架,那么已经有一个内置函数来完成此工作:Dojo . tojson(),它将像这样使用。

var obj = {
  name: 'myObj'
};
dojo.toJson(obj);

它将返回一个字符串。如果要将对象转换为json数据,则添加第二个参数true。

dojo.toJson(obj, true);

http://dojotoolkit.org/reference-guide/dojo/toJson.html#dojo-tojson

由于firefox没有将某些对象stringify为屏幕对象;如果你想有相同的结果,如:JSON.stringify(obj):

function objToString (obj) {
    var tabjson=[];
    for (var p in obj) {
        if (obj.hasOwnProperty(p)) {
            tabjson.push('"'+p +'"'+ ':' + obj[p]);
        }
    }  tabjson.push()
    return '{'+tabjson.join(',')+'}';
}

以你为例,我想 console.log(“项目:”,o) 这是最简单的。但是, console.log("Item:" + o.toString) 也会起作用。

使用方法一可以在控制台中使用一个漂亮的下拉菜单,因此长对象可以很好地工作。

实际上,现有的答案中缺少一个简单的选项(适用于最近的浏览器和Node.js):

console.log('Item: %o', o);

我更喜欢这样做,因为JSON.stringify()有一定的限制(例如循环结构)。

使用javascript String()函数

 String(yourobject); //returns [object Object]

或stringify ()

JSON.stringify(yourobject)