一、参考资料
How to convert JSON file to CSV file using PowerShell
二、问题描述
将json文件中的数组对象转换为csv文件。
三、json样例文件
{"menu": {
"id": "file",
"value": "File",
"popup": {
"menuitem": [
{"value": "New", "onclick": "CreateNewDoc()"},
{"value": "Open", "onclick": "OpenDoc()"},
{"value": "Close", "onclick": "CloseDoc()"}
]
}
}}
四、一句话命令
PS D:\jsontocvs>Get-Content .\menu.json | ConvertFrom-Json | select -ExpandProperty menu | select -ExpandProperty popup | select -expandproperty menuitem | select -Property onclick,value | ConvertTo-Csv | Out-File menu.csv
样例文件命名为:menu.json
Get-Content 获取json文件内容,"|"代表管道,意思是将当前命令结果传递到下个命令,ConvertFrom-Json形成内部对象,select用ExpandProperty参数选择menu属性对应的复杂对象,再依次选择popup、menuitem复杂对象,最终选择onclick,value属性(用于展示可以调整两者输出的顺序),ConvertTo-Csv转换为Csv格式,Out-File 输出到文件menu.csv。结果如下:
"onclick","value"
"CreateNewDoc()","New"
"OpenDoc()","Open"
"CloseDoc()","Close"
该文介绍如何利用PowerShell命令行工具将包含数组对象的JSON文件转换成CSV格式。具体步骤包括使用Get-Content读取JSON文件,ConvertFrom-Json解析JSON,通过管道操作选择并展开所需属性,最后用ConvertTo-Csv和Out-File生成CSV文件。
551

被折叠的 条评论
为什么被折叠?



