gpt4 book ai didi

powershell - 为什么ConvertTo-Json会降低值

转载 作者:行者123 更新时间:2023-12-03 00:27:25 24 4
gpt4 key购买 nike

我正在使用Powershell探索REST API。我发现了一个奇怪的异常。当我序列化/描述以下对象时,responses对象消失了!我已经验证了将其转换为.net对象时一切仍然完好无损,因此从.net对象转换为JSON时会发生问题。

$json  = @'
{
"stubs": [
{
"responses": [
{
"is": {
"body": "54"
}
},
{
"is": {
"body": "21"
}
},
{
"is": {
"body": "0"
}
}
]
}
]
}
'@
$json | ConvertFrom-Json | ConvertTo-Json

上面转换的结果是这样的:
{
"stubs": [
{
"responses": " "
}
]
}

如果运行此命令,则会按预期收到 54 :
$json | ConvertFrom-Json | %{ $_.stubs.responses[0].is.body }  

我在Ubuntu上运行,但是不相信这会有所作为。对于Windows上的某人来说,应该很容易验证。

最佳答案

ConvertTo-Json 带有一个可选的 Depth 参数(无论出于何种原因)默认为2。该参数本身在链接文档中的描述如下:

Specifies how many levels of contained objects are included in the JSON representation. The default value is 2.



如果您为此参数提供更高的值,它将起作用-最大值为100:
$json | ConvertFrom-Json | ConvertTo-Json -Depth 100

关于powershell - 为什么ConvertTo-Json会降低值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53354665/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com