【发布时间】:2013-04-21 18:22:40
【问题描述】:
我正在使用nodejs 和jsonpath。 我有这个 json 结构:
{
things:{
books: [
{name: "book1"},
{name: "book2"},
{name: "book3"},
{name: "book4"},
],
movies: [
{name: "movie1"},
{name: "movie2"},
{name: "movie3"},
{name: "movie4"},
]
}
}
我想知道返回带有things 对象键名的数组的 jsonpath 表达式。那将是:
["books","movies"]
目前,我正在这样做:
Object.keys(jsonpath.eval(jsonStructure,"$.things").pop());
但我不觉得它很优雅...当我只需要键名时,我不需要复制整个结构。
【问题讨论】:
-
当你能做到
Object.keys(jsonStructure.things)时为什么还要使用JSONPath? -
没错,这也行。但我的意思是只用 jsonpath 来做。这个想法是 jsonpath 字符串将存储在配置文件中。我希望能够只更改配置文件而不是代码来影响脚本行为。