如何将 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:578或http://phpjs.org/functions/var_dump:604 之类的东西
或者,如果您没有使用方法(作为对象属性的函数),您可以使用新标准(但在旧版浏览器中未实现,但您也可以找到一个实用程序来帮助它们),JSON .stringify()。但是,如果对象使用不可序列化为 JSON 的函数或其他属性,那么这将不起作用。