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

例子:

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

输出:

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


当前回答

一个选项:

console.log('Item: ' + JSON.stringify(o));

另一个选项(正如soktinpk在评论中指出的那样),更适合控制台调试IMO:

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

其他回答

如果你想要的只是一个字符串输出,那么这应该工作:

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

我用for in和template literal来在字符串中有两个键-值对,这对我有用。

让obj = { 名称:“约翰”, 年龄:22岁 isDev:没错, }; let toStr = ""; For (let key in obj) { if (obj.hasOwnProperty(key)) { toStr += ' ${key} ${obj[key]} ' + ", "; } } console.log (toStr); console.log (typeof toStr);

也许你正在寻找

JSON.stringify(JSON.stringify(obj))


"{\"id\":30}"

Stringify-object是yeoman团队制作的一个很好的NPM库:https://www.npmjs.com/package/stringify-object

npm install stringify-object

然后:

const stringifyObject = require('stringify-object');
stringifyObject(myCircularObject);

显然,只有当循环对象使用JSON.stringify()会失败时,它才有趣;