给出以下jq命令和Json:
jq '.[]|[.string,.number]|join(": ")' <<< '
[
{
"number": 3,
"string": "threee"
},
{
"number": 7,
"string": "seven"
}
]
'
Run Code Online (Sandbox Code Playgroud)
我正在尝试将输出格式化为:
three: 3
seven: 7
Run Code Online (Sandbox Code Playgroud)
不幸的是,我的尝试导致以下错误:
jq:错误:无法添加字符串和数字
如何将数字转换为字符串,以便两者都可以连接?
AXE*_*abs 63
jq命令具有tostring函数.我花了一段时间才学会通过反复试验来使用它.以下是如何使用它:
jq -r '.[] | [ .string, .number|tostring ] | join(": ")' <<< '
[{ "number": 9, "string": "nine"},
{ "number": 4, "string": "four"}]
'
nine: 9
four: 4
Run Code Online (Sandbox Code Playgroud)
小智 27
另一种可以说更直观的格式是:
jq '.[] | .string + ": " + (.number|tostring)' <<< ...
Run Code Online (Sandbox Code Playgroud)
值得注意的是需要周围的parens .number|tostring.
man*_*ork 10
对于这种简单的情况字符串插值的隐式转换为字符串将做到这一点:
.[] | "\( .string ): \( .number )"
Run Code Online (Sandbox Code Playgroud)
在jq?play上看到它的实际效果。
| 归档时间: |
|
| 查看次数: |
35182 次 |
| 最近记录: |