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

时间:2013-12-05 15:46:11

标签: javascript json console

Console image

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

console.log(JSON.stringify(this.model.attributes));

在我的代码中,我得到了

{"language":"en","trans":"","lang":"en"}

它不会将我的对象数组转换为字符串。

为什么trans是一个空字符串?

jsfiddle在这里http://jsfiddle.net/Te5RH/但是我不知道如何在jsfiddle中添加json文件,但它看起来像:

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

有人可以帮忙吗?谢谢

2 个答案:

答案 0 :(得分:0)

对我来说,你有一个时间问题。很有可能在发出console.log时,对象未填充。像这样:

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

在检查器中,您将看到对象的“完整版本”,但在控制台日志时,对象不是“ready”

答案 1 :(得分:-2)

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

看看那个功能。