首页 > 解决方案 > .md 中的 Github Jekyll Liquid 对象访问问题

问题描述

所以...尝试访问我在 Github Pages 中的一些数据。对此有点新意。

我在一个名为 mydata.json 的文件中有一些类似的 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"]

标签: githubjekyllliquidgithub-pages

解决方案


迭代哈希时,item[0] 包含键,item[1] 包含值”(请参阅​​liquid doc),

{% 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 %}

推荐阅读