Ubuntu16.04
CCXTを用いて残高をjsonに書き出して、InfluxDBへ格納したいです。
各取引所のAPIデータが、「' ':' '」のシングルクォートになっていて、
json
1{'JPY': {'free': None, 'used': None, 'total': 21.92813}}
jqを使って呼び込みたいのですが、
bash
1JSON=`cat /home/ubuntu/finance/qe_balance.json` 2echo ${JSON} 3JPY=$(echo ${JSON} | jq '.JPY') 4 5curl -XPOST "http://$INFLUXDB_HOST:$INFLUXDB_PORT/write?db=$INFLUXDB_DATABASE" -d "balance,exchange=liquid QE_JPY=$JPY"
以下のようなエラーがでました。
error
1{'JPY': {'free': None, 'used': None, 'total': 21.92813}} 2parse error: Invalid numeric literal at line 1, column 7 3{"error":"unable to parse 'balance,exchange=liquid QE_JPY=': missing field value"}``` 4 5色々試行錯誤しているのですが、 6APIから出た、jsonのシングルクォートをダブルクォートにしたら、うまく代入できて格納できたのですが、 7上記のようなjsonをダブルクォートに一気に変換しつつ、bashに書き込める方法はないものでしょうか。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/11 06:06
2019/11/11 06:12