Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js jq无法将JSON转换为csv_Node.js_Jq_Json2csv - Fatal编程技术网

Node.js jq无法将JSON转换为csv

Node.js jq无法将JSON转换为csv,node.js,jq,json2csv,Node.js,Jq,Json2csv,我是jq新手,我有一个来自call:all的JSON文件。2: {"code":0, "data": {"date": 1617978312600,"ticker": {"KAVAUSDT": {"vol": "15022.96236047","low": "7.0419","open":"

我是jq新手,我有一个来自call:all的JSON文件。2:

{"code":0, "data": {"date": 1617978312600,"ticker": {"KAVAUSDT": {"vol": "15022.96236047","low": "7.0419","open":"7.8990","high": "8.1997","last": "7.1516","buy": "7.1516","buy_amount":"11.02402741","sell":"7.1699","sell_amount": "37.46319593"},"CFXUSDT": {"vol": "108550.36674746","low": "1.226636","open": "1.267724","high": "1.378400","last": "1.273187","buy": "1.272200","buy_amount": "14.65071234","sell": "1.294900","sell_amount": "84.88000789"},"SUSHIBTC": {"vol": "5644.10352324","low": "0.00024680","open": "0.00024857","high": "0.00026493","last": "0.00025704","buy": "0.00025563","buy_amount": "104.74291100","sell": "0.00025730","sell_amount": "94.16400000"},"SUNUSDT": {"vol": "7058.81491709","low":"37.3431","open":"37.9590","high": "44.0446","last": "40.6945","buy": "40.1001","buy_amount": "25.40000000","sell":"41.0771","sell_amount": "3.40000000"}}}, "message": "OK"}
我想将数据转换为csv空间,如下所示:

我尝试了以下方法,但无效:

mlr --j2c cat all.2>allq1.csv

jq -r '.[]|[ .ticker,.ticker.vol,.ticker.low,.ticker.open,.ticker.high,.ticker.last,.ticker.buy,.ticker.buy_amount,.ticker.sell,.ticker.sell_amount ]|@csv' all.2 > all.csv
试一试

解释:.data.ticker-数据的路径,到_条目[]-由于ticker名称是key,我们需要将此对象转换为.key和.value,-括号有帮助,因此您不需要每次都写入完整路径,tonumber-将字符串转换为数字删除双引号

添加所有字段

欢迎使用SO。根据指导原则,如果您能提供预期输出的文本,以便于验证假定的解决方案,这将是很有帮助的。图像虽然在某些方面可能有帮助,但不足以达到此目的。
jq -r '.data.ticker | to_entries[] | [.key, (.value | (.vol|tonumber), (.low|tonumber))] | @csv'