我正在使用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
请帮忙。 提前谢谢。
答案 0 :(得分:0)
如图所示的输入不是完全有效的JSON。以下假设已添加了周围的大括号以生成有效的JSON。
以下jq查询生成所需的CSV:
[.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