Powershell以小写形式转换为Json密钥
运行此代码Powershell以小写形式转换为Json密钥,json,powershell,lowercase,Json,Powershell,Lowercase,运行此代码 get-service | Select-Object -Property displayname, status, name | convertTo-Json 例如,在如下输出中产生的结果: { "DisplayName": "Adobe Acrobat Update Service", "Status": 4, "Name": "AdobeARMservice" }, { "DisplayName": "Adobe Flash Playe
get-service | Select-Object -Property displayname, status, name | convertTo-Json
例如,在如下输出中产生的结果:
{
"DisplayName": "Adobe Acrobat Update Service",
"Status": 4,
"Name": "AdobeARMservice"
},
{
"DisplayName": "Adobe Flash Player Update Service",
"Status": 1,
"Name": "AdobeFlashPlayerUpdateSvc"
},
[
{
"displayname": "Application Identity",
"status": 1,
"name": "AppIDSvc"
},
{
"displayname": "Application Information",
"status": 4,
"name": "Appinfo"
},
是否可以以小写形式返回键?您可以使用正则表达式来解决此要求:
#Create a variable with the info
$json = Get-Service | Select-Object -Property displayname, status, name | convertTo-Json
#Use RegEx
[regex]::Replace(
$json,
'(?<=")(\w+)(?=":)',
{$args[0].Groups[1].Value.ToLower()}
)
您可以使用正则表达式来解决此要求:
#Create a variable with the info
$json = Get-Service | Select-Object -Property displayname, status, name | convertTo-Json
#Use RegEx
[regex]::Replace(
$json,
'(?<=")(\w+)(?=":)',
{$args[0].Groups[1].Value.ToLower()}
)
您可以使用计算属性:
get-service | Select-Object -Property @{n='displayname';e={$_.displayname.tolower()}}, status, name | convertTo-Json
这会改变输出的格式
另外,你可以对所有属性重复这一点
pps 您可以使用计算属性:
get-service | Select-Object -Property @{n='displayname';e={$_.displayname.tolower()}}, status, name | convertTo-Json
这会改变输出的格式
另外,你可以对所有属性重复这一点
pps 多谢各位。是否可以保持值不变(仅将键的格式设置为小写)?使用这种方法,键和值都被格式化为小写。只需从表达式中删除
.tolower()
<代码>@{n='displayname';e={$\u.displayname}}谢谢。是否可以保持值不变(仅将键的格式设置为小写)?使用这种方法,键和值都被格式化为小写。只需从表达式中删除.tolower()
@{n='displayname';e={$\ displayname}}
似乎是一种bash的做事方式,又称次优,似乎是一种bash的做事方式,又称次优