来自几个深度的jmespath元组

时间:2017-04-06 21:21:29

标签: jmespath

是否存在将转换此内容的jmespath表达式:

{ "a": 5
, "b": [ {"c":6}, {"c":7}, {"c":8}]
}

进入这个:

[ {"a":5, "c":6}
, {"a":5, "c":7}
, {"a":5, "c":8}
]

非常感谢提前!

1 个答案:

答案 0 :(得分:0)

上下文

  • jmespath查询
  • 如何生成对父对象元素的交叉引用

解决方案

  • 使用jmespath可以实现,但是不幸的是结果必须手动构建,这显然不是您想要的

示例

  

给出以下数据集...

    { "a": 5
    , "b": [ {"c":6}, {"c":7}, {"c":8}]
    }
  

...以下jmespath查询...

    [
        @.{"a":"a","c":"b"[0].c}
        , @.{"a":"a","c":"b"[1].c}
        , @.{"a":"a","c":"b"[2].c}
    ]
  

...产生以下结果

    [
      {"a":5, "c":6}
    , {"a":5, "c":7}
    , {"a":5, "c":8}
    ]

陷阱

  • Jmespath很好地遍历序列,但不会以相同的灵活性遍历对象键(即名称/值对)