yaml获取不到信息


遇到的问题

---
cormc:计算机科学导论
课程代码:CS101
教师:王教授
学分:3
安排:
  - 周次:"10"
    星期:"2"
    节次:"5-6节"
    时间:"14:00-15:40"
    教室:"教学楼A201"
  - 周次:"11"
    星期:"2"
    节次:"5-6节"
    时间:"14:00-15:40"
    教室:"教学楼A201"
类型:必修

---

用dataviewjs
page.cormc获取不到值:计算机科学导论

// 第10周课表
const week = 10;              // 定义周次
let tableData = [];           // 初始化数组
for (let page of dv.pages().where(p=>p.file.folder.includes("课程"))) {
    let schedules = page.安排;
    if (!schedules) continue;
    if (!Array.isArray(schedules)) schedules = [schedules];   // 转为单元素数组
    for (let schedule of schedules) {
        
        if (Number(schedule.周次) === week) {
            tableData.push([
                page.课程名称,
                schedule.时间,
                schedule.教室,
                page.教师,
                page.file.link
            ]);
        } 
    }
    
} 





// 按时间排序`课程名称: ${page.课程名称 || "无"}`
if (tableData.length > 0) {
    dv.table(
        ["课程", "时间", "教室", "教师", "链接"],
        tableData.sort((a, b) => a[1].localeCompare(b[1]))
    );
} else {
    dv.paragraph("📭 **本周暂无课程安排**");
}

// 显示统计信息
dv.paragraph(`📊 **第${week}周统计**:共 ${tableData.length} 节课`);

预期的效果

要取到课程名称取不到

已尝试的解决方案

出来一个-。

YAML 语法要求冒号后面必须有空格, 详细见 属性 - Obsidian 中文帮助 以及 YAML 语言教程 - 阮一峰的网络日志 等资料

可以切到笔记的 “源码模式” 来检查, 此时会标红显示 “第一个语法错误在哪”

image