【发布时间】:2019-01-15 00:33:24
【问题描述】:
我正在尝试检查属于特定键的 JSON 值的实际数据类型。
test.json
{
"id": 50,
"name": "Joe"
}
我想要类似的东西:
$ `jq 'typeof("id")' < test.json`
(output)>> string
这可以使用jq吗?
【问题讨论】:
我正在尝试检查属于特定键的 JSON 值的实际数据类型。
test.json
{
"id": 50,
"name": "Joe"
}
我想要类似的东西:
$ `jq 'typeof("id")' < test.json`
(output)>> string
这可以使用jq吗?
【问题讨论】:
使用type:
jq -r '[1.23,"abc",true,[],{},null][]| type' <<< '""'
number
string
boolean
array
object
null
在您的示例中,您可以检查:
jq '.id|type=="number"' file.json
或者在select过滤器中使用它来显示那些不是数字的ID,例如:
jq '.[]|select(id|type=="number"|not)' file.json
【讨论】:
.id|numbers,而不是.id|type=="number"。
您可以使用type 函数来获取字符串形式的值类型。
【讨论】: