我正在从Windows CA导出证书,该证书是一个数组,其中的数据格式如下。我想转换成表格。有想法吗?
发件人:
$a=@(
'a=all
b=call
',
'a=all
b=ll'
)
当前输出:
a=all b=call a=all b=ll
所需的输出:
a b all call all ll
答案 0 :(得分:2)
您所拥有的是多行字符串数组。对于所需的输出,您需要一个对象数组:
$a = @(
[PSCustomObject]@{
'a' = 'all'
'b' = 'call'
},
[PSCustomObject]@{
'a' = 'all'
'b' = 'll'
}
)
如果您的输入数据实际上是行格式为key=value
的多行字符串列表,则可以将其转换为自定义对象,如下所示:
$a = @(
'a=all
b=call',
'a=all
b=ll'
)
$a | ForEach-Object {
[PSCustomObject]($_ | ConvertFrom-StringData)
}
ConvertFrom-StringData
将具有key=value
对的一行或多行的字符串转换为哈希表,然后可以将其转换为自定义对象。
答案 1 :(得分:0)
您还可以创建一个空数组,然后使用[PsCustomObject]添加值
$Table = @()
$Table += [Pscustomobject]@{a = "all"; b = "call"}
$Table += [Pscustomobject]@{a = "all"; b = "ll"}