繁体   English   中英

使用jq将JSON转换为CSV

[英]Convert a JSON into CSV using jq

我有一个json文件,该文件存储在环境变量temp中。

{ "users": [ { "username": "jack", "email": "jack@somewhere.com", "total running apps": "1", "api-mock-app": "0", "flogo": "1", "ipaas": "0", "nodejs-app": "0" }, { "username": "jill", "email": "jill@somewhere.com", "total running apps": "1", "api-mock-app": "0", "flogo": "1", "ipaas": "0", "nodejs-app": "0" } ] }当我使用此命令将此JSON转换为CSV

jq -r '.users[] | [.username, .email, .total running apps, .api-mock-app, .flogo, .ipaas, .nodejs-app] | @csv' <<< $temp

我收到以下错误。

jq:错误:语法错误,在第1行上出现意外的IDENT(Unix shell引用问题?)。 [.username,.email,.total运行的应用程序,.api-mock-app,.flogo,.ipaas,.nodejs-app] | @csv
jq:1个编译错误

有什么帮助吗?

您需要引用您的列名,特别是因为它们包含空格和破折号。 但是,您需要转义bash的引号:

jq --raw-output '.users[] | [.username, .email, ."total running apps", ."api-mock-app", ."flogo", ."ipaas", ."nodejs-app"] | @csv'

我得到了这个工作代码, 请点击这里

 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script> <html> <head> <title>Demo - Covnert JSON to CSV</title> <script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script> <script type="text/javascript" src="https://github.com/douglascrockford/JSON-js/raw/master/json2.js"></script> <script type="text/javascript"> // JSON to CSV Converter function ConvertToCSV(objArray) { var array = typeof objArray != 'object' ? JSON.parse(objArray) : objArray; var str = ''; for (var i = 0; i < array.length; i++) { var line = ''; for (var index in array[i]) { if (line != '') line += ',' line += array[i][index]; } str += line + '\\r\\n'; } return str; } // Example $(document).ready(function () { // Create Object var items = [ { name: "Item 1", color: "Green", size: "X-Large" }, { name: "Item 2", color: "Green", size: "X-Large" }, { name: "Item 3", color: "Green", size: "X-Large" }]; // Convert Object to JSON var jsonObject = JSON.stringify(items); // Display JSON $('#json').text(jsonObject); // Convert JSON to CSV & Display CSV $('#csv').text(ConvertToCSV(jsonObject)); }); </script> </head> <body> <h1> JSON</h1> <pre id="json"></pre> <h1> CSV</h1> <pre id="csv"></pre> </body> </html> 

查看此链接

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM