如何使用JSONPath提取JSON中subject节点的一级子节点键名列表
实现方法
要提取subject节点下所有一级子节点的科目名称,可使用如下JSONPath表达式:
$.subject.*~
如果你的JSONPath实现支持内置键获取方法,也可以写成:
$.subject.keys()
表达式逻辑说明
$:指代JSON数据的根节点.subject:定位到根节点下存储科目信息的subject对象*:通配匹配subject下的所有一级子节点~:键名提取运算符,返回匹配节点对应的属性名,而非节点本身的属性值
对给定的示例JSON执行该表达式,会直接返回预期结果:
[ "pe", "maths", "history" ]
注:如果使用的是老旧版本、不支持
~运算符的JSONPath库,可以先通过$.subject取到科目对象,再在业务代码中遍历对象提取键名即可,目前主流编程语言的JSONPath依赖、线上JSONPath测试工具均支持上述标准写法。
内容的提问来源于stack exchange,提问作者ColdDevil
相关产品推荐
相关产品推荐

