将大型JSON文件加载到PowerShell时出错

时间:2016-06-30 13:27:46

标签: json powershell

我遇到了我正在处理的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

有人能发现这个问题吗?我正在把头撞到墙上。

0 个答案:

没有答案