我正在使用API从NetFlow Analyzer获取数据。我得到一个JSON文件格式如下:
{"startTime":"2017-12-29 11:58","resultVector":[{"port":"*","app":"Unknown_App","dscpCode":"0","traffic":"4.77 MB","dscp":"Default","src":"20.xx.xx.2","dst":"10.xx.xx.1","dstport":"*","prot":"Unknown"}],"Type":"DestinationIN","devDetails":{"deviceID":"5000006","Total":"4.77 MB"},"TimeZone":"America/Chicago","endTime":"2018-01-05 11:58"}
我一直在尝试使用在github上找到的json2csv(https://github.com/jehiah/json2csv),并成功地使用了不同的API和JSON输出格式。当我运行
json2csv -k port,app,dscpCode,traffic,dscp,src,dst,dstport,prot -i filein.json -o fileout2.csv
我得到一个csv文件,里面只有“,"。我尝试获取的是流量、源IP和目的IP。
运行
json2csv -k startTime,resultVector -i filein.json -o fileout2.csv
给我这个输出,而关闭,它不是csv真的
2017-12-29 11:58,[map[dscpCode:0 src:20.xx.xx.2 dst:10.xx.xx.1 prot:Unknown port:* app:Unknown_App dstport:* traffic:4.77 MB dscp:Default]]
检查了一些报告这是有效的RFC 4627 JSON的在线网站。还有谁熟悉json2csv,或者我可以在脚本中使用的另一个Linux cli工具来转换?
3条答案
按热度按时间nhjlsmyf1#
对于**
jq
**处理器来说,这是一个很好的工作:最终
fileout2.csv
内容:5hcedyr02#
这是另一个用于从JSON转换为CSV的CLI工具:
它可以解析嵌套的JSON。
这是OP数据的输出:
des4xlb03#
通常我也更喜欢工具包
如果你想快速地将一些json格式转换成csv,你也可以 checkout 这个:
https://json-csv.com/
提供文件上传以及复制粘贴快速的结果。