通过 $ref / self reference 获取值

Obtaining value via $ref / self reference

我想使用引用来引用我的 JSON 结构中的现有对象;专门访问它的键和值。

我认为我 应该 能够引用现有对象然后使用点表示法访问所述键和值是合理的 - 但更有可能我误解了技术。

var courses = {
            Engl101 : {
                course : "English 101",
                units : 5,
                req_type : false ,
                req: false
            },
            Engl112: {
                course : "English 112",
                units : 3,
                req_type : "prerequisite" ,
                req: { "$ref": "#/courses/Engl101"}
            }
        }

我希望我能够通过

访问我的先决条件课程
courses.Engl112.req 

我实际得到的似乎是一个无法访问子 keys/values 的字符串。

此外,我尝试通过 Object.keys(courses.Engl112.req) 访问 [0] 数字索引的变体,但没有实际进展。

这可行吗,先谢谢你了?

纯粹的JavaScript,你不能做这样的事情。 但是存在一些库以支持 JSON 中的内部和外部引用。一个著名的:json-schema-ref-parser

如果您的课程名称是独一无二的,您可以输入

req: "English101"

然后您可以通过

访问必修课程
courses[courses.Engl112.req]