You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Github Pages中Jekyll Liquid访问JSON对象无返回结果问题求助

解决Github Pages中Liquid遍历JSON对象无返回的问题

嘿,我之前在Github Pages上用Liquid处理JSON数据时也踩过类似的坑,咱们一步步来解决你的问题~

首先确认文件位置是否正确

Github Pages的site.data对象只会读取根目录下_data文件夹里的JSON/YAML/CSV文件。所以你得确保mydata.json是放在_data文件夹中,而不是随便放在根目录或者其他子文件夹里。如果没有_data文件夹,直接新建一个就行。

问题出在Liquid遍历对象的方式上

你的JSON结构里,test是一个键值对对象(item1、item2作为键,对应的值是包含name和number的对象),而不是数组。普通的for item in ...遍历对象时,默认只会拿到键名(也就是item1、item2),而不是对应的值,所以你之前的两种写法都拿不到name。

正确的遍历写法

你需要用Liquid的键值对遍历语法,同时获取键和对应的值:

{% for key, item in site.data.mydata.test %}
  - {{ item.name }} (对应键: {{ key }})
{% endfor %}

或者用方括号取值的方式:

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

这样就能正确输出每个item的name了。

额外验证:确认JSON格式无误

你的JSON代码看起来是合法的,但可以再检查一遍:确保所有引号都是英文双引号,逗号没有多写或少写,括号配对正确。如果JSON有语法错误,Github Pages会解析失败,自然拿不到数据。

测试效果

用上面的正确代码,应该会输出:

  • item name (对应键: item1)
  • item name (对应键: item2)

内容的提问来源于stack exchange,提问作者Randy Hall

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:31:33