我遇到了我正在处理的PowerShell脚本的问题。该脚本的作用是从API端点获取大量JSON,并以100个结果的增量将其附加到文件中。
然后需要读出文件并检索一些JSON密钥,但文件加载失败。
$jsonserial = New-Object -TypeName System.Web.Script.Serialization.JavaScriptSerializer
$jsonserial.MaxJsonLength = 104857600
$jsonFileName = [System.IO.File]::ReadAllText("C:\a_big_json_file")
$jsonTree = $jsonserial.DeserializerObject($jsonFileName)
ConvertTo-Json $jsontree
$J = $jsontree
foreach ($line in $J) {
echo $line."resource".entity | Where-Object {$_.buildpack -ne $null} | Select-Object name,buildpack
}
我从PowerShell获得的错误是:
在C:\ TEMP \ software \ get_buildpacks.ps1:39 char:1
+ $ jsonTree = $ jsonserial.DeserializeObject($ jsonFileName)
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~
+ CategoryInfo:NotSpecified:(:) [],MethodInvocationException
+ FullyQualifiedErrorId:ArgumentException
有人能发现这个问题吗?我正在把头撞到墙上。