问题描述
我的哈希表值如下:
我正在尝试以以下格式获取 JSON:
我的哈希表值如下:
Name Value
---- -----
modesite {10000,10001...}
sites {11800,11900...}
Tsitesata {12000,12001...}
direct {13002,13003...}
我正在尝试以以下格式获取 JSON:
{
modesite: {
Ids: [
10000,10001,10002,....,10030,10032
]
},sites: {
Ids: [
11800,11801,11809
]
},Tsitesata: {
Ids: [
12000,12001,12030
]
},direct: {
Ids: [
13002,13003,13015
]
}
}
解决方法
您的 minimal reproducible example 不完整,因为它不包含任何代码(特别是 $exampleObj
来自哪里?)。但是,您可以接受 toastifer's answer,也可以尝试以下操作:
$exampleObj = @{
modesite = @( 10000,10001);
sites = @( 11800,11900);
Tsitesata= @( 12000,12001);
direct = @( 13002,13003);
}
$desiredObj = foreach ($key in $exampleObj.Keys) {
@{ $key = @{ Ids = $exampleObj.$Key }}
}
$desiredObj | ConvertTo-Json -Depth 8
,
不要将数组直接存储在键下。使用键“Ids”将其存储在另一个哈希表中。
$exampleObj=@{
modesite=@{ids=@(1,2,3)}
sites=@{ids=@(4,5,6)}
}
您还可以使用 ConvertFrom-Json 创建对象。插入您想要的输出,您将能够看到如何构建对象。