Github Jekyll Проблема доступа к жидким объектам в .md - PullRequest
0 голосов
/ 03 мая 2018

Итак ... пытаюсь получить доступ к некоторым данным, которые есть у меня на Github Pages. Вроде новичок в этом.

У меня есть некоторые данные JSON, например, в файле mydata.json:

{
  "test": {
    "item1" : {"name" : "item name", "number": "item number"},
    "item2" : {"name" : "item name", "number": "item number"}
  }
}

Но когда я пытаюсь получить к нему доступ в файле .md:

{% for item in site.data.mydata.test %}
- {{item['name']}}
{% endfor %}

ничего не возвращает.

{% for item in site.data.mydata.test %}
- {{item[1]}}
{% endfor %}

Также ничего не возвращает.

Я действительно пытаюсь перечислить все значения для каждой пары ключ-значение под каждым элементом.

Я могу получить доступ к каждому значению и распечатать его по отдельности, например:

{{site.data.mydata.test.item1.name}}

Я думаю это трактует [] как упаковщики ссылок из-за формата MD? Я понятия не имею, как проверить эту теорию. Я далеко от базы с тем, как я получаю доступ к этим данным?

Разъяснение

Работы: site.data.mydata.test.item1.name

Не работает: site.data.mydata.test.item1["name"]

1 Ответ

0 голосов
/ 03 мая 2018

" При итерации хэша элемент [0] содержит ключ, а элемент [1] содержит значение " (см. жидкокристаллический документ ),

{% for item in site.data._mydata.test %}
  {{item | inspect}} => ["item1",{"name"=>"item name","number"=>"item number"}]
                     =>  item[0]  |------------item[1]----------------------|
{% endfor %}

и ваш цикл будет выглядеть так:

{% for item in site.data._mydata.test %}
 - {{ item[1]["name"] }} - {{ item[1]["number"] }}
{% endfor %}
...