2014-12-02 61 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 
    } 
};