如何检查jq中是否有数组或对象?

时间:2015-08-10 05:54:05

标签: json jq

例如,我想从键中提取值,但该键有时包含一个对象(我只是一个值)或有时包含一个数组(我的意思是多个值)。请问检查是否有阵列或有物体?感谢。

2 个答案:

答案 0 :(得分:13)

使用type功能:

  

type
  type函数将其参数的类型作为字符串返回,   它是null,boolean,number,string,array或object之一。

示例1:

echo '[0, false, [], {}, null, "hello"]' | jq 'map(type)'
[
  "number",
  "boolean",
  "array",
  "object",
  "null",
  "string"
]

示例2:

echo '[0,1]' | jq 'if type=="array" then "yes" else "no" end'
"yes"

示例3:

echo '{"0":0,"1":1}' | jq 'if type=="array" then "yes" else "no" end'
"no"

答案 1 :(得分:0)

我有的字段有时是字符串,有时是数组,我想遍历它们。可以处理这种情况:

new ItemTouchHelper(mIth).attachToRecyclerView(mRecyclerView);