协慌网

登录 贡献 社区

将对象转换为字符串

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

例:

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

输出:

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

答案

我建议使用JSON.stringify ,它将对象中的变量集转换为 JSON 字符串。大多数现代浏览器本机支持此方法,但对于那些不支持此方法的浏览器,您可以包含JS 版本

var obj = {
  name: 'myObj'
};

JSON.stringify(obj);

使用 javascript String()函数。

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

要么

JSON.stringify(yourobject)

当然,要将对象转换为字符串,您必须使用自己的方法,例如:

function objToString (obj) {
    var str = '';
    for (var p in obj) {
        if (obj.hasOwnProperty(p)) {
            str += p + '::' + obj[p] + '\n';
        }
    }
    return str;
}

实际上,上面只是说明了一般方法; 你可能希望使用http://phpjs.org/functions/var_export:578http://phpjs.org/functions/var_dump:604 之类的东西

或者,如果您没有使用方法(作为对象属性的函数),您可以使用新标准(但在旧版浏览器中未实现,但您也可以找到一个实用程序来帮助它们),JSON .stringify()。但是,如果对象使用不可序列化为 JSON 的函数或其他属性,那么这将不起作用。