如何从json文件中提取布尔值?

时间:2017-06-06 18:45:07

标签: arrays json jq

我正在使用jq解析器将json转换为csv。

输入:

"abc":{
      "a_val":true
   },
"def":{
      "b_val":false
   },
"normaltext":{
      "c_val":"text_value"
   }

我的输出低于输出值。

,,"text_value"

但我的愿望输出是

"true", "false", "text_value"

true, false, text_value

请帮忙。 提前谢谢。

2 个答案:

答案 0 :(得分:0)

  1. 如图所示的输入不是完全有效的JSON。以下假设已添加了周围的大括号以生成有效的JSON。

  2. 以下jq查询生成所需的CSV:

  3. [.abc.a_val, .def.b_val, .normaltext.c_val] | @csv
    

    打字稿

    $ jq -r '[.abc.a_val, .def.b_val, .normaltext.c_val] | @csv' input.json
    true,false,"text_value"
    

答案 1 :(得分:0)

如果这不起作用:

jq -r '[.abc.a_val, .def.b_val, .normaltext.c_val] | @csv' jsonfile

然后试试这个:

jq -r '[(.abc.a_val | tostring), (.def.b_val | tostring), .normaltext.c_val] | @csv' jsonfile