PowerShell一句话实现json转csv文件

一、参考资料

How to convert JSON file to CSV file using PowerShell

二、问题描述

将json文件中的数组对象转换为csv文件。

三、json样例文件

来自json.org的例子

{"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"

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值