无法在javascript中将对象转换为字符串

无法在javascript中将对象转换为字符串,javascript,json,console,Javascript,Json,Console,我的控制台里有这个。 它是一个在我的代码“this.model”中调用的模型对象,但是当我执行 console.log(JSON.stringify(this.model.attributes)); 在我的代码中,我得到 {"language":"en","trans":"","lang":"en"} 它不是将我的对象数组转换为字符串 为什么trans是空字符串 JSIDdle在这里,但我不确定如何在JSIDdle中添加json文件,但它看起来像: { "app": { "name

我的控制台里有这个。 它是一个在我的代码“this.model”中调用的模型对象,但是当我执行

console.log(JSON.stringify(this.model.attributes));
在我的代码中,我得到

{"language":"en","trans":"","lang":"en"}
它不是将我的对象数组转换为字符串

为什么trans是空字符串

JSIDdle在这里,但我不确定如何在JSIDdle中添加json文件,但它看起来像:

{
 "app": {
    "name": "Contest"
 },
 "nav": {
    "home": "Home",
    "page1": "Page One",
    "page2": "Page Two"
 }
}

有人能帮忙吗?谢谢

这是因为
trans
不是
string
属性,似乎
JSON.stringify
无法迭代对象的
属性


看看这个函数。

对我来说,你有一个计时问题。当您发出console.log时,对象很可能未被填充。大概是这样的:

var x = {'a':3, trans:"",'c':null};
console.log(JSON.stringify(x));
x.trans = {app:{name:'Contest'}, nav:[2,'alpha']};

在inspector中,您将看到对象的“完整版本”,但在控制台日志中,对象尚未“准备就绪”。

您是否有可以显示的小提琴演示?原始对象是什么?只是为了测试。。。你知道我已经添加了JSFIDLE url。