微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

JMESPath是否有条件if / then / else?

如何解决JMESPath是否有条件if / then / else?

我正在尝试使用JMESPath做一个简单的if / then / else

例如:“如果输入为字符串,则返回字符串,否则返回输入的“值”属性”。输入"abc"将返回"abc"。输入{"value":"def"}将返回"def"

有了jq,这很容易:if .|type == "string" then . else .value end

使用JMESPath,我可以获取类型

type(@)

或输入:

@

value属性

value

但是我还没有找到一种将它们组合成if-then-else的方法。有什么办法吗?

解决方法

people[?general.id !={ "people": [ { "general": { "id": 100,"age": 20,"other": "foo","name": "Bob" },"history": { "first_login": "2014-01-01","last_login": "2014-01-02" } },{ "general": { "id": 101,"age": 30,"other": "bar","name": "Bill" },"history": { "first_login": "2014-05-01","last_login": "2014-05-02" } } ] } ] ||人

{{1}}

if else 条件在这里有效

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。