2012-01-18 92 views
16

我有此JSON回報如何訪問嵌套對象有鬍子JS模板引擎

{ 
    "timeline": [{ 
     "id": "2", 
     "self": { 
      "uid": "2", 
      "username": "ptamzz" 
     }, 
     "file": { 
      "fid": "43", 
      "file_name": "First Name" 
     }, 
     "connection": { 
      "fid": "4", 
      "username": "tom" 
     }, 
     "action": "viewed your document", 
     "time": "2012-01-16 12:23:03", 
     "tags": ["Engineering", "Computer Science", "Java", "Java Library"] 
    }, { 
     "id": "1", 
     "self": { 
      "uid": "2", 
      "username": "ptamzz" 
     }, 
     "file": { 
      "fid": "41", 
      "file_name": "Write Up" 
     }, 
     "connection": { 
      "fid": "4", 
      "username": "tom" 
     }, 
     "action": "favorited your document", 
     "time": "2012-01-16 12:22:04", 
     "tags": ["Design"] 
    }] 
} 

據當時http://coenraets.org/blog/2011/12/tutorial-html-templates-with-mustache-js/教程(樣品6:嵌套的對象部分),您可以訪問dot notation訪問嵌套對象。

從上面的JSON,我要檢索的數據,如self.usernamefile.file_name等等等等

現在,我已經在我的模板

{{#timeline}} 
    <li> 
     {{self.username}} 
    </li> 
{{/timeline}} 

self.username不起作用。

如何檢索這些嵌套值?

回答

17

我不認爲這是正確的做法,但因爲我在這裏找不到任何答案,所以我自己想出了一些東西。至少這是有效的。

{{#timeline}} 
    <li> 
     {{#self}}{{username}}{{/self}} 
    </li> 
{{/timeline}} 
+1

點符號工作。你的特殊情況必須有錯誤。也許是因爲「self.username」在一個數組中,並且可能出現多次。 – OneWorld 2012-07-31 09:02:26

+0

我不能得到「點符號」爲一個簡單的對象工作。 =( 如卡{ ID:10, 名稱:「麥克斯韋」 } – 2013-05-27 15:43:59

+0

這難道不是取決於實際的處理器上 – 2013-06-12 19:46:39

4

點符號不適用於0.4x及更低版本。它在「0.7.2」上工作。