2015-11-01 46 views
0

返回唯一值我有一個哲基爾網站_data文件夾中的JSON數據源,看起來像這樣:從傑奇保藏中心/數據源

{ 
    "1": { 
    "name": "March", 
    "year": "2014" 
    }, 
    "2": { 
    "name": "May", 
    "year": "2013" 
    }, 
    .... 
    } 

我想列出的獨特價值年份屬性。以下返回一個年份列表;我只想要獨特的歲月。

<ul> 
{% for playlist in site.data.playlists %} 
    <li> 
    {{ playlist[1].year }} 
    </li> 
{% endfor %} 
</ul> 

試圖與分配變量,這樣我可以用什麼給了here,但沒有運氣瞎搞,我不知道它會在傑基爾工作呢。


+0

你能提供JSON數據文件嗎? –

+0

@DavidJacquel添加了示例JSON – christopherlovell

回答

3

看來,你是通過一年時間嘗試組播放列表。

_data/playlists.json

[ 
    { 
    "name": "March", 
    "year": "2014" 
    }, 
    { 
    "name": "May", 
    "year": "2013" 
    }, 
    { 
    "name": "December", 
    "year": "2013" 
    } 
] 

請注意,我們這裏有哈希值的數組。

您現在可以通過年級組播放了一個循環:

{% comment %} ++++ Group playlists by year ++++ {% endcomment %} 
{% assign grouped = site.data.playlists | group_by: "year" %} 

<ul> 
{% for year in grouped %} 
    <li> 
    {{ year.name }} 
    <ul> 
    {% for item in year.items %} 
     <li>{{ item.name }}</li> 
    {% endfor %} 
    </ul> 
    </li> 
{% endfor %} 
</ul> 
0

你應該只處理一次相等的元素,這些代碼可能會工作:

<ul> 
{% assign s_year = null %} 
{% assign t_year = null %} 
{% for playlist in site.data.playlists %} 
{% capture t_year %}{{playlist[1].year}}{% endcapture %} 
{% if t_year == s_year %}{% else %} 
<li> 
{{ t_year }} 
</li> 
{% endif %} 
{% capture s_year %}{{ t_year }}{% endcapture %} 
{% endfor %} 
</ul>