gpt4 book ai didi

jq 无法用字符串 "value"索引字符串

转载 作者:行者123 更新时间:2023-12-05 01:36:02 25 4
gpt4 key购买 nike

我有下面的短 jq 过滤器,它完美地工作:

cat data.tmp2 | ./jq-linux64-1.5 -r '.issues[].fields.customfield_10025 | if .value != null then (.value + "," + .child.value ) else "" end'

它产生的正是我所需要的,如果该字段为空,则返回“”,如果该字段不为空,则它使用该字段的值并连接一个逗号和一个子值。
但是,当我在下面看到的更大的过滤器中移动过滤器时,出现错误:无法使用字符串“值”索引字符串

这是失败的较长过滤器:
cat data.tmp2 | ./jq-linux64-1.5 -r '.issues | map([.key,.fields.project.name,.fields.parent.key,.fields.issuetype.name,.fields.status.name,.fields.priority.name,.fields.resolution.name,.fields.assignee.name,.fields.reporter.name,.fields.created,.fields.updated,.fields.resolutiondate,.fields.summary,(.fields.components | (map(.name?) | join (","))),(.fields.fixVersions | (map(.name?) | join (","))),.fields.customfield_10025 | if .value != null then (.value + "," + .child.value ) else "" end,.fields.customfield_10201] | join ("---"))

最佳答案

尝试在表达式周围加上括号:

.fields.customfield_10025 | if .value != null then (.value + "," + .child.value ) else "" end

即, [1,2 | type]被解析为 [(1,2) | type] ,不是 [1, (2|type)] .

关于jq 无法用字符串 "value"索引字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33903013/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com