json - 使用 Jolt 过滤结果
问题描述
给定以下输入:
[
{
"order": "SI867-5309"
},
{
"order": ""
},
{
"order": "SI555-1212"
},
{
"order": {
"status": "Bad"
}
}
]
我想用 jolt 翻译成:
[
{
"order": "SI867-5309"
},
{
"order": "SI555-1212"
}
]
我已经接近:
[
{
"operation": "shift",
"spec": {
"*": {
"order": {
"SI*": "@1"
}
}
}
}
]
但那不是它,因为它虽然过滤掉以 SI 开头的值,但它会将值放入键中。我想我错过了一些明显的东西......
解决方案
是的,你是如此接近结果,只需替换"@1"
为{ "$": "[].&2" }
[
{
"operation": "shift",
"spec": {
"*": {
"order": {
"SI*": {
"$": "[].&2"
}
}
}
}
}
]
where "$"
operator 匹配key,&2
匹配value和 prepend &2
with[].
分别用于分隔元素。
推荐阅读
- python - 使用 pandas 合并两个数据框
- c++ - 防止 lambda 的返回类型扣除
- kibana - VEGA GRAPH - 使用过滤器获得热门
- angular - 如何正确地将数组插入 rxjs 主题
- r - 将循环的输出绘制为 pdf - 产生空页
- javascript - Agora WebSDK - 播放直播时的错误和无限状态变化循环
- c++ - ProjectName.exe 已触发断点
- php - php 不处理或从邮递员和我的 C++ 应用程序读取我的 json 数据
- reactjs - 生成APK后反应原生平面列表不显示数据屏幕
- python - AttributeError:“图形”对象没有属性“节点”