-1
単純な要件の問題に直面しています。jq - jqフィルタの後にCSVに出力するときの余分なスペース
- CSVファイルにJQと出力を使用して変数から変数
- 解析JSONでCURLリクエストとストアを作成します。
私がそれをやろうとすると、何らかの理由で2行目のファイルに余分な先頭スペースが追加されています。これをしないようにjqを設定する方法はありますか?
コード:
output=`curl -v -k -H 'Content-Type: application/json' '<<URL>>' -d '<<PARAMS>>'`
csvOutput=`echo $output | jq --raw-output '.result .items[]|[.name,.key,.created,.updated]|@csv'`
echo $csvOutput >> out.csv
次のコード(すべて1行では)問題は発生しません。しかし、いくつかのチェックを行うには変数にカール出力が必要なので、このオプションは役に立ちません。
echo "$(curl -v -k -H 'Content-Type: application/json' '<<URL>>' -d '<<PARAMS>>" | jq -r '.result .items[]|[.name,.key,.created,.updated]|@csv' >> out.csv
私は、ファイルから(カール応答から取られた)JSON出力を読み、その後JQフィルタを適用すると不思議なことに、私は問題が表示されません。
cat response.json | jq -r '.result .items[]|[.name,.key,.created,.updated]|@csv' > out.csv
response.json(フォーマット済み):
{
"result": {
"total_items": 22,
"total_pages": 1,
"items_per_page": 1000,
"current_page": 1,
"items": [
{
"key": "1",
"name": "Name 1",
"created": "2016-12-20T08:51:13Z",
"updated": "2016-12-20T09:29:08Z"
},
{
"key": "2",
"name": "Name 2",
"created": "2016-12-20T08:51:13Z",
"updated": "2016-12-20T09:29:08Z"
},
{
"key": "3",
"name": "Name 3",
"created": "2016-12-20T08:51:13Z",
"updated": "2016-12-20T09:29:08Z"
}
]
},
"id": 1
}