【发布时间】:2014-07-01 03:45:53
【问题描述】:
我知道如何在 JavaScript 中使用 JSONPath to filter on the values:
var o = {
current_user_url: "https://api.github.com/user",
other_user_url: "https://api.github.com/user",
otherstuff: "stuff"
};
jsonPath(o, "$.[?(/https.*/.test(@))]") //returns ["https://api.github.com/user"]
但是如何过滤键?我希望返回键以*_url 结尾的所有值。以下内容不起作用,因为 @ 显然只包含 JSON 对象的值。
jsonPath(o, "$.[?(/.*_url/.test(@))]")
如果无法使用 JSONPath 或 JSONQuery,是否还有其他易于使用和设置的库?我希望用户输入查询表达式,这就是为什么我更喜欢使用查询语言而不是仅仅评估纯 JavaScript(如 these guys)。
【问题讨论】:
-
您的意图是验证特定模式的属性名称?或获取属性名称列表?
-
我希望返回键以
*_url结尾的所有值。
标签: javascript dojo jsonpath