2014-12-02 58 views
0

我确定这是一个简单的问题,但我找不到任何信息来帮助我,而且我已经迷失了一段时间。我试图创建一个JSON对象,这里是我到目前为止:创建分层的JSON对象

var myJsonObject = new Object(); 
myJsonObject.context.applicationName = appName; 
myJsonObject.context.ID = ID; 
myJsonObject.context.domain = domain; 
myJsonObject.context.production = "no"; 

myJsonObject.other.name = userName; 
myJsonObject.other.date = userDate; 

var myString = JSON.stringify(myJsonObject); 

这里是我想让我的JSON字符串看起来像。我不断收到myJsonObject.context is undefined错误。我的意思是,我明白为什么会发生,我从来没有真正初始化它,但我不知道如何去纠正这个问题。任何帮助,将不胜感激。

我猜myJsonObject.context必须被初始化为另一个对象,然后我只是将它作为一个对象数组添加到我的原始对象....这是正确的吗?

+0

点全部,因为你都是对的:d – user3334871 2014-12-02 17:34:50

回答

2

是的,你需要先将其设定为一个对象,或者你可以把它们放在第一行:

var myJsonObject = {context : {} , other: {} }; 
+1

是啊,在哑清晰的时刻,我接着说: myJsonObject.context = new Object();'它工作。我会给你答案,因为你是对的。 – user3334871 2014-12-02 17:27:24

1

我猜myJsonObject.context已被初始化为另一反对

,然后我只是把它添加到我原来的对象

你会通常这样做的同时

为对象的数组

号你有什么类似的阵中还有。

var myJsonObject = {}; 
myJsonObject.context = {}; 
myJsonObject.context.applicationName = appName; 
1

定义myJsonObject.context = {};属性第一。

2

另外请注意,您可以使用更短的语法定义的对象,像这样:

var myJsonObject = { 
    context: { 
     applicationName: appName, 
     ID: ID, 
     domain: domain, 
     production: "no" 
    }, 
    other: { 
     name: userName, 
     date: userDate 
    } 
};