在PowerShell中使用重复键处理JSON文档是否有最佳实践?
理想情况下,要将所述键的值编译为映射到键的单个数组。
例如:
{
"column01" : "id1",
"column02" : "id2",
"column03: : "id3",
"column03" : "id4"
}
已转换为:
{
"column01" : "id1",
"column02" : "id2",
"column03: : [
"id3",
"id4"
]
}
我一直在探索ConvertTo-Json cmdlet的选项,但没有找到解决方案。
感谢帮助!
答案 0 :(得分:1)
尽管使用JSON does allow duplicate keys,但不建议这样做,我建议通过规范化JSON来处理。否则,您当然可以将带有重复键的JSON传递给ConvertFrom-Json
,但这不会导致您想要的输出。
应该是...
$obj = @"
{ "column01" : "id1",
"column02" : "id2",
"column03" : ["id3", "id4"]
}
"@
然后使用$json = $obj | ConvertFrom-Json
转换为powershell obj。
然后,您可以对PowerShell对象执行相同的操作并将其转换为JSON。
$obj = @{
"column01" = "id1";
"column02" = "id2";
"column03" = ("id3", "id4")
}
$json = $obj | ConvertTo-Json
$json
如果您想知道如何规范化数据,建议您编辑问题或提出一个新问题。