我正在尝试使用JMESPath的Python库从大型JSON文件中提取信息,此处是一个非常简化的示例:
{
"high_name":"test",
"sections":[
{
"name":"section1",
"item":"string1"
},
{
"name":"section2",
"item":"string2",
"items_sub":[
{
"item":"deeper string1"
}
]
}
]
}
我正在尝试获得这样的输出:
{
"high_name":"test",
"sections":[
{
"name":"section1",
"items":[
"string1"
]
},
{
"name":"section2",
"items":[
"string1",
"deeper string1"
]
}
]
}
根据部分的类型,更深的字符串的深度可以为1到3级。我需要搜索键以获取所有匹配的“项目”名称。
我已经使用jsonpath-rw-ext成功完成了此操作,但想知道JMESPath是否有可能消除对两个库的依赖?
我似乎找不到一种搜索所有子键的方法,无论它们在JMESPath中的级别如何。
JSONPATH-RW-EXT的工作字符串:
$.sections[*]..item
使用JMESPath的最佳尝试(无效):
sections[*].*.item
谢谢