Arrays 从Powershell中的阵列提取数据

Arrays 从Powershell中的阵列提取数据,arrays,powershell,sorting,Arrays,Powershell,Sorting,我使用以下命令填充了一个数组: forEach ($ip in $ipReturn.IPAddress) { try { $jsonObject = Invoke-RestMethod -Method Get -Uri "https://api.weatherchannel/forecast/daily?ip=$ip&days=2&units=I&key=$apiKey" -Headers $header $jsonDataArray +=

我使用以下命令填充了一个数组:

forEach ($ip in $ipReturn.IPAddress) {
   try {
      $jsonObject = Invoke-RestMethod -Method Get -Uri "https://api.weatherchannel/forecast/daily?ip=$ip&days=2&units=I&key=$apiKey" -Headers $header 
      $jsonDataArray += $jsonObject
    }
    catch {
        $errorTrap = $error[0]
        Write-Host "Status Code:" $_.Exception 
        Write-Host "Status Description:" $_.Exception 
    }
}
我在PowerShell的阵列中填充了以下数据:

$jsonDataArray | foreach{Write-Host $_}
@{timezone=America/New_York; city_name=Azalea Park; lon=-81.3004; data=System.Object[]; state_code=FL; country_code=US; lat=28.5535}
我需要每个阵列中的数据。特别是:
data=System.Object

我曾想过使用以下结构:

$foreach (system.object['data'] in $jsonDataArray)
{
    //pull and extract all data as string objects and populate those strings into a new array. Search each array string and pull data to create histogram.

}

我已经看过代码了。有人知道我如何实现此数据提取吗?

不要让
数据的类型分散您的注意力:)


好的,我对以下内容进行了测试:foreach($jsonDataArray中的jsonData){foreach($jsonDataArray中的数据){Write Host$data}}},输出仍然显示为@{timezone=America/NewèYork;cityèname=Druid Hills;lon=-84.3604;data=System.Object[];州代码=GA;国家代码=US;lat=33.8181}。在本例中,data=System.Object,这就是我需要的数据。所以我不知道如何提取每个对象并提取数据。@请注意,在我的示例中,内部
foreach
循环迭代
$jsonData.data
,而不是
$jsonDataArray
噢,哇!非常感谢你,马蒂亚斯。我真的很感谢你的帮助!
foreach($jsonData in $jsonDataArray)
{
    foreach($data in $jsonData.data)
    {
        # $data represents each object in the data array
    }
}