powershell 遍历json,Powershell脚本从json文件获取数据

I need to pull data with a particular heading from a json file and output it to a csv file

$data = (Get-Content "C:\Users\QVL6\Downloads\express-ordering-web-

variables.json" | ConvertFrom-Json)

get data

[PSCustomObject[]]$data = @(

[PSCustomObject]@{

Name = 'Name'

Type = 'Type'

Value = 'Value'

Description = 'Description'

}

)

$path = C:\Users\QVL6\

$data | Select-Object -Property Name, Type, Value, Description | Export -Csv

-Path .\data.csv -NoClobber -NoTypeInformation

Json file:

{

"Id": "variableset-Projects-174",

"OwnerId": "Projects-174",

"Version": 23,

"Variables": [

{

"Id": "dfd06d9f-5ab5-0b40-bfed-d11cd0d90e62",

"Name": "apiConfig:orderCommandUrl",

"Value": "http://dev.order-service.local",

"Description": null,

"Scope": {

"Environment": [

"Environments-63"

]

},

"IsEditable": true,

"Prompt": null,

"Type": "String",

"IsSensitive": false

},

{

"Id": "252a19a0-4650-4920-7e66-39a80c1c49ec",

"Name": "apiConfig:orderCommandUrl",

"Value": "http://qa.order-service.local",

"Description": null,

"Scope": {

"Environment": [

"Environments-63",

"Environments-64"

]

},

"IsEditable": true,

"Prompt": null,

"Type": "String",

"IsSensitive": false

},

I want to pull out all the values in Name field

解决方案

Get-Content already returns a string so you could convert the output directly to json.

$data = Get-Content "C:\Users\myFile\Downloads\express-ordering-web-variables.json" | ConvertFrom-Json

The variable $data is already an object so you don't have to convert it again to a csv. You can directly select the needed headers and export them to a csv.

$data = Get-Content "C:\Users\myFile\Downloads\express-ordering-web-

variables.json" | ConvertFrom-Json

#get some random data

[PSCustomObject[]]$data = @(

[PSCustomObject]@{

H1 = 'Test'

H2 = 'Test2'

},

[PSCustomObject]@{

H1 = 'Test'

H2 = 'Test2'

}

)

$data | Select-Object -Property H1, H2 | Export-Csv -Path $Path -NoClobber -NoTypeInformation

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值