Conversion

將 sqlite 輸出轉換為 json

  • February 20, 2016

我想從命令行以 json 格式格式化 sqlite 輸出。目前我的 .csv 輸出如下所示:

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

現在我想把它格式化成這樣:

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

謝謝!

我用 GNU 對此進行了測試,awk並且sed……不確定它是否會與其他版本一起使用。

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

有效的 JSON 使用雙引號,因此:

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

不使用 sed 也更簡單

引用自:https://unix.stackexchange.com/questions/255125