为什么将我初始化的散列转换为 JSON 会产生空值?

Why converting to JSON a hash I initialized yield a null?

我正在尝试构建一个散列,以便稍后输出为 JSON(并最终将其导入以供脚本重用)。这是我使用 jekyll.

构建的静态站点的一部分

documentation on Expressions and Variables 之后,我用

创建了一个文件
---
---
{% assign aaa['bbb'] = 'xxx' %}
{{ aaa | jsonify }}

这是由 jekyll 编译为 null(好像哈希没有初始化)。 为什么会这样?

遗憾的是,文档是在谈论读取散列或数组,而不是写入。

你唯一可以从 liquid 中写入的是数组。

  • 创建一个空数组:{% assign my-array = "" | split: "/" %}{{ y-array | inspect }}
  • 使用推送或移位存储 {% assign my-array = my-array | push: anything %} = empty-array }},其中 任何东西 可以是字符串、整数、散列或数组。