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
}
}