Converter saída de sqlite para json

0

Eu quero formatar a saída sqlite no formato json na linha de comando. Atualmente eu tenho saída .csv que se parece com isso:

label1,value1
label2,value2
label3,value3
...

Agora eu gostaria de tê-lo formatado assim:

{'label1' : 'value1',  'label2': 'value2', ... }

Obrigado!

    
por michelemarcon 13.01.2016 / 16:45

2 respostas

1

Eu testei isso com o GNU awk e sed ... não tenho certeza se será com outras versões.

awk -F, '{printf "'\''%s'\'' : '\''%s'\'', ", $1, $2} END {print "}" }' input.csv | sed -e 's/^/{/' -e 's/, }/}/' > output.json
    
por 13.01.2016 / 17:54
0

O JSON válido usa aspas duplas para:

awk -F, 'BEGIN{print "{"} {if (notfirst) {print ","}; print "\"" $1 "\":\"" $2 "\""; notfirst=1} END {print "\"\":\"\"}" }' input.csv

Também é mais simples não usar sed

    
por 20.02.2016 / 15:10