我有一个简单的JSON:
{
"config": {
"option": {
"destination": ""
}
}
}我在PowerShell中将这个JSON读为
$flattended = Get-Content .\aboveJson.json | ConvertFrom-Json我需要将目标元素的值设置为某个值,然后将其保存回相同的JSON或另一个JSON,同时保留结构。但是,在读取我看到的嵌套对象时,PowerShell以不同的方式处理option元素,而使用ConvertTo-Json保存时,我看到的输出为"option": "@{destination=""}"
有没有人可以帮助和指导任何关于PowerShell如何处理这种数据结构以及我应该如何处理这种情况的文章?
发布于 2020-09-17 20:11:53
您应该不会在当前示例中看到此问题。但是,您看到的症状是由于JSON结构中嵌套级别的数量造成的。默认情况下,ConvertTo-Json命令使用默认深度2。您可以手动设置不同的深度。
$flattened = Get-Content .\aboveJson.json | ConvertFrom-Json
$flattened.config.option.destination = 'new destination'
$flattened | ConvertTo-Json -Depth 10https://stackoverflow.com/questions/63937559
复制相似问题