gpt4 book ai didi

json - 解析JSON时“Invalid array passed”

转载 作者:行者123 更新时间:2023-12-03 14:34:22 29 4
gpt4 key购买 nike

我有要使用PowerShell阅读的文件:

var myMap =
[
{
"name": "JSON Example",
"attr": "Another attribute"
}
]

我的PowerShell v3代码:
$str = Get-Content $file | Select -Skip 1;
$str | ConvertFrom-Json;

但是我总是收到这个错误:
ConvertFrom-Json : Invalid array passed in, ']' expected. (1): [
At S:\ome\Path\script.ps1:60 char:8
+ $str | ConvertFrom-Json;
+ ~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [ConvertFrom-Json], ArgumentException
+ FullyQualifiedErrorId : System.ArgumentException,Microsoft.PowerShell.Commands.ConvertFromJsonCommand

如果我手动将JSON代码复制并粘贴到代码中,则一切工作正常:
'[
{
"name": "JSON Example",
"attr": "Another attribute"
}
]' | ConvertFrom-Json;

最佳答案

尝试先管道传输到Out-String,再管道传输到ConvertFrom-Json:

Get-Content $file | Select -Skip 1 | Out-String | ConvertFrom-Json

在您的工作示例中,JSON代码是字符串,而在不工作的示例中,则返回行集合。用管道传输到 Out-String会将集合转换为单个字符串,这是InputObject参数接受的字符串。

关于json - 解析JSON时“Invalid array passed”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12140546/

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