使用jq提取json

时间:2015-05-11 08:36:37

标签: json jq

我有像这样的示例Json文件。如何从中提取数据?

我尝试过很少的东西。但是无法得到理想的结果

{
   "adults":{
               "car":{"length":[20,25],"width":[225,40]},
               "tractor":{"length":[20,23],"width":[223,40]}
            },
   "children":{
                "cycle":{"length":[20,21],"width":[221,40]},
              }
}

我想使用以下列将此数据插入数据库:

age_group |车辆|测量

这样我的决赛桌就是

age_group | vehicle  | measurements
------------------------------------
adults      car         {"length":[20,25],"width":[225,40]}
adults      tractor     {"length":[20,21],"width":[223,40]}
children    cycle       {"length":[20,21],"width":[221,40]}

如何使用jq?

根据需要将json对象中的信息提取到文本文件中

编辑:如何根据需要获取内部键?

age_group | vehicle  | Dimension
    ------------------------------------
    adults      car         length
    adults      car         width

    adults      tractor     length
    adults       tractor     width
    children    cycle       length
    children    cycle        width

1 个答案:

答案 0 :(得分:1)

jq'to_entries | map(.key为$ mykey | .value | to_entries | map([$ mykey,。key,.value]))|添加'test.json

  1. 将JSON对象转换为标准格式jq
  2. 记住我们已解析的密钥
  3. 解析值JSON对象
  4. 构建输出
  5. 更新: jq'to_entries | map(.key as $ mykey | .value | to_entries | map(。key as $ mykey2 | .value | to_entries | map([$ mykey,$ mykey2,.key])))|添加|添加'test.json

    jq提供了两种我们可以操作json文件的工具。首先,我们可以过滤json文件中的数据,但过滤可能会丢失数据。其次,我们可以映射和减少数据。

    所以我们首先必须将你的变量json变成固定结构,我们可以访问它的键和值对。之后我们使用过滤器从值字段中提取数据。由于你已经给出了一个嵌套3变量dict的json文件,所以我们必须做三次将变量json变换为固定的变量。