json - Jekyll 输出使用两个 JSON 源
问题描述
假设我有一个项目列表(我们称之为)和一个与项目列表关联proj.json
的较小子项目 ( ) 的列表。sub_proj.json
文件如下:
项目.json
[{
"title": "Project 1",
"description": "aaa.",
"subproj": ["RefSP1", "RefSP2"]
},
{
"title": "Project 2",
"description": "aaa.",
"subproj": ["RefSP3"]
}]
sub_proj.json
[{
"title": "Sub Project 1",
"description": "aaa.",
"key": "RefSP1"
},
{
"title": "Sub Project 2",
"description": "aaa.",
"key": "RefSP2"
},
{
"title": "Sub Project 3",
"description": "aaa.",
"key": "RefSP3"
}]
但在 中output.html
,我似乎遗漏了一些东西。代码如下:(为简单起见,我删除了它的格式)
{% for item in site.data.proj %}
{{ item.title }}
{% assign key_array = item.subproj %}
{% for sub in key_array %}
{% assign subproject = site.data.sub_proj | where:"key",sub %}
{{ subproject.title | inspect }}
{% endfor %}
我似乎使用 . 获得了正确数量的子项目{{ subproject.title | inspect }}
,但它们都是nil
. 添加jsonify
并没有真正做任何事情。
编辑:
打印出来{{ item | inspect }}
结果是
{ "title"=>"Project 1","description"=>"aaa.","subproj"=>["RefSP1","RefSP2"]}
但{{ subproject | inspect }}
出来作为
[{"title"=>"Sub Project 1","description"=>"aaa.","key"=>"RefSP1"}] [{"title"=>"Sub Project 2","description"=>"aaa.","key"=>"RefSP2"}]
方括号是主要区别。我尝试通过过滤器删除它们,仍然没有。
解决方案
推荐阅读
- .net - 无法读取配置部分“appSettings”,因为它缺少部分声明
- jasmine - Karma + Jasmine 导致重复警告 WARN: 'Env: not supported, default to development'
- java - 从重定向 URL 的标头中获取位置
- r - 在信息框 Shinydashboard 中打开新窗口
- java - 如何在 JackRabbit 2 中查询存储库描述符表?
- docker - Traefik 代理 ip 身份验证
- python - 从网站中提取属性,然后在 Python 中使用 pandas、bs4 删除列表中的重复元素并将其写入 .xls 文件
- mongodb - pymongo中的Update_one具有不同的字段类型
- mysql - 简单的 MariaDB 自定义函数
- android-studio - Android Studio 构建不关心我的 Gradle 风格?