通过$ ref /自我参考获得价值

时间:2019-03-14 19:26:01

标签: javascript json 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 

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

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

这可行吗,谢谢你?

2 个答案:

答案 0 :(得分:0)

使用纯JavaScript,您将无法做到这一点。 但是存在一些库来支持JSON中的内部和外部引用。著名的:json-schema-ref-parser

答案 1 :(得分:0)

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

req: "English101"

然后您可以通过以下方式访问所需的课程

courses[courses.Engl112.req]