Powershell 似乎无法正确地往返此 JSON 对象:
{
"settings": {
"minimumApproverCount": 2,
"creatorVoteCounts": false,
"scope": [
{
"refName": "refs/heads/d14rel",
"matchKind": "Exact",
"repositoryId": "a290117c-5a8a-40f7-bc2c-f14dbe3acf6d"
}
]
}
}
假设
$json
是一个字符串,这个命令:$json | ConvertFrom-Json | ConvertTo-Json
从中产生错误的 JSON:
{
"settings": {
"minimumApproverCount": 2,
"creatorVoteCounts": false,
"scope": [
"@{refName=refs/heads/d14rel; matchKind=Exact; repositoryId=a290117c-5a8a-40f7-bc2c-f14db
e3acf6d}"
]
}
}
请注意,它错误地获取了“范围”变量。有没有办法来解决这个问题?
最佳答案
使用参数 Depth
值为 3 或更大。默认2是不够的,更深的数据只是简单地转换为字符串。
$json | ConvertFrom-Json | ConvertTo-Json -Depth 3
输出
{
"settings": {
"minimumApproverCount": 2,
"creatorVoteCounts": false,
"scope": [
{
"refName": "refs/heads/d14rel",
"matchKind": "Exact",
"repositoryId": "a290117c-5a8a-40f7-bc2c-f14dbe3acf6d"
}
]
}
}
关于json - 如何将此 JSON 往返传输到 PSObject 并返回到 Powershell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32774889/