2012-01-18 11 views
16

mam ten powrót JSONjak uzyskać dostęp do obiektów zagnieżdżonych z wąsami js silnika szablonów

{ 
    "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"] 
    }] 
} 

Zgodnie z samouczka w http://coenraets.org/blog/2011/12/tutorial-html-templates-with-mustache-js/ (Próbka 6: Zagnieżdżone sekcja Object), można uzyskać dostęp dot notation aby uzyskać dostęp do obiektów zagnieżdżonych .

Z powyższego json, chcę odzyskać dane jak self.username, file.file_name itp itd

Teraz mam mój szablon jako

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

Ale self.username nie działa.

Jak mogę pobrać te zagnieżdżone wartości?

Odpowiedz

17

Nie sądzę, że jest to właściwy sposób, ale ponieważ nie mogłem znaleźć tutaj żadnej odpowiedzi, sam coś wymyśliłem. Przynajmniej to działa.

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

notacja dot działa. W twoim szczególnym przypadku musi wystąpić błąd. Może dlatego, że "self.username" jest w tablicy i może pojawić się kilka razy. – OneWorld

+0

Nie mogę uzyskać "notacji kropek" dla prostego obiektu. . = ( np karta { id: 10, nazwa: "Maxwell" } –

+0

Nie zależy to od rzeczywistego procesora –

4

Notacja Dot nie działa w wersji 0.4x i niższej. Działało na "0.7.2".

Powiązane problemy