我有一个特定的 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"
}
]
我希望有条件地选择喜欢
cat mydata.json | jq '.[] | select((.a > 50) and (.b > 50))'
它应该听起来像
{
"a": "70.0",
"b": "92.67",
"c": "0",
"d": "0"
}
问题是我的原始数据是一个字符串值,我不知道如何解析它以进行条件选择。
最佳答案
只需与 jq 的 tonumber
功能:
jq '.[] | select((.a|tonumber) > 50 and (.b|tonumber) > 50)' mydata.json
输出:
{
"a": "70.0",
"b": "92.67",
"c": "0",
"d": "0"
}
关于json - 通过 jq 从字符串中解析浮点值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48077471/