-2

我有一个这种格式的 powershell json 输出。

{
    "Name":  "web-app",
    "BuildingBlock":  "create-web-app",
    "TemplateName":  "qa-bb-create-web-app-V1.1.1",
    "TemplateID":  1809
},
{
    "Name":  "web-app",
    "BuildingBlock":  "destroy-web-app",
    "TemplateName":  "qa-bb-destroy-web-app-V1.1.1",
    "TemplateID":  1810
 }

我需要做的是获取他的第一个键值,无论它是重复的,都将它作为一个公共参数,并将第三个键值作为嵌套键,并提供第四个键值作为值。像这样的东西。任何人都可以在powershell中提供解决方案。

{
   "web-app":{
               "create-web-app":"1809",
               "destroy-web-app":"1810"
}
4

1 回答 1

0

可能是您的 JSON 格式不正确。你可以试试这样的东西吗?

$varJSON=@"
{
    "Name":  "web-app",
    "BuildingBlock":  "create-web-app",
    "TemplateName":  "qa-bb-create-web-app-V1.1.1",
    "TemplateID":  1809
},
{
    "Name":  "web-app",
    "BuildingBlock":  "destroy-web-app",
    "TemplateName":  "qa-bb-destroy-web-app-V1.1.1",
    "TemplateID":  1810
 }
"@

$varJSON='{"Root": [' + $varJSON + "]}"

$JSON=$varJSON | ConvertFrom-Json
$JSON.Root | group name | %{

[pscustomobject]@{
$_.Name=$_.Group.BuildingBlock


}

} | ConvertTo-Json
于 2019-04-15T10:26:57.610 回答