2015-02-06 166 views
1

我正在構建一個Angular應用程序,並且還使用了角度轉換,因爲它需要使用雙語言。訪問嵌套的JSON對象

似乎已經創造了我正確的JSON(運行它通過檢查),但是當我嘗試JSON對象中訪問項目超過第一級,則返回undefined。

例如,角度轉換中我的JSON是這樣的:

$translateProvider.translations('en', { 
"SEARCH": { 
    "SEARCH" : "Recherce", 
    "ABILITY" : "Abilities", 
    "MANAGEMENT" : "Management Competencies", 
    "PERSONAL" : "Personal Suitability" 
}, 

"ABILITIES": { 
    "TITLE" : "Test Title here", 
    "ADVISORY": { 
     "TITLE" : "Advisory Skills", 
     "QUESTIONS": [ 
     { 
      "TYPE" : "A", 
      "LEVEL" : "45", 
      "DESCRIPTION" : "Can you tell me how awesome you are" 
     }, 
     { 
      "TYPE" : "B", 
      "LEVEL" : "100", 
      "DESCRIPTION" : "Tell me about your wicked project" 
     } 
     ] 
    } 
    }, 

    "HEADLINE": "Oh No!", 
    "SUB_HEADLINE": "Looks like you are not amazing" 
}); 

,並開始在JSON對象訪問數據,我做

list = $translateProvider.translations('en'); 

現在,輸出的項目時控制檯,看看他們的工作我這樣做:

console.log(list); 
var getTitle = list.HEADLINE; 
var getSearch = list.SEARCH.ABILITY; 
console.log(getSearch); 
console.log(getTitle); 

這是奇怪的地方。

的 '清單' 返回JSON數組我指定

獲取HEADLINE回報Oh No!

但要list.SEARCH.ABILITY返回undefined

是什麼給了!?我還沒有事件試圖訪問的東西,我真正想要的真正的嵌套數組中的「能力」

記住角翻譯使用的格式{{ 'ABILITIES.ADVISORY.TITLE' | translate }}輸出JSON到HTML頁面

+0

似乎在這裏工作得很好:http://jsfiddle.net/z1uLjg89/你能提供一個小提琴或片段,再現這個問題? – JLRishe 2015-02-06 18:00:17

+0

我會嘗試,但獲得標題的工作非常奇怪,但不是SEARCH.ABILITY。我想不出爲什麼有效的JSON可以與一個工作,但不是嵌套的一個 – 2015-02-06 18:11:47

回答

-3

嘗試list.SEARCH["ABILITY"].value

+0

這也返回一個'undefined'。此外,我無法在HTML文檔中使用JavaScript,請參閱我的編輯 – 2015-02-06 18:01:12

+0

這應該與'list.SEARCH.ABILITY'沒有區別。你甚至試過你的答案嗎? – 2015-02-06 18:01:36

+0

是的,它是完全相同的,這使我的事情有關我的語法或JSON訪問是錯誤的,但我不知道什麼 – 2015-02-06 18:05:06