Sak*_*res 5 floating-point json type-conversion jq
我有一个特定的 JSON 数据,其中包含我需要在 JSON 数组上有条件地处理的浮点值。这是一个 JSON 实例的示例:
[
{
"a": "0",
"b": "66.67",
"c": "0",
"d": "0"
},
{
"a": "12.33",
"b": "0",
"c": "60.2",
"d": "19.3"
},
{
"a": "70.0",
"b": "92.67",
"c": "0",
"d": "0"
}
]
Run Code Online (Sandbox Code Playgroud)
我希望有条件地选择喜欢
cat mydata.json | jq '.[] | select((.a > 50) and (.b > 50))'
Run Code Online (Sandbox Code Playgroud)
它应该听起来像
{
"a": "70.0",
"b": "92.67",
"c": "0",
"d": "0"
}
Run Code Online (Sandbox Code Playgroud)
问题是我的原始数据是一个字符串值,我不知道如何解析它以进行条件选择。
只需使用jq的tonumber功能:
jq '.[] | select((.a|tonumber) > 50 and (.b|tonumber) > 50)' mydata.json
Run Code Online (Sandbox Code Playgroud)
输出:
{
"a": "70.0",
"b": "92.67",
"c": "0",
"d": "0"
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2546 次 |
| 最近记录: |