我試圖使用powershell與使用Invoke-RestMethod函數的api進行通信。Powershell:引用嵌套的JSON數組中的值
從我可以告訴這個返回作爲一個PowerShell對象(數組)的JSON響應。結果有兩個級別是項目列表,然後是針對這些項目設置的自定義字段。
我想循環每個項目,然後通過項目的每個自定義字段,然後使用此信息執行各種SQL操作。
目前我很苦惱,我可以使用ForEach循環通過作爲項目的頂級「數據」,但是當我嘗試循環通過項目的自定義字段時,它實際上循環遍歷所有所有項目的自定義字段。
我已經使用我有限的PowerShell和許多小時的搜索和閱讀經驗得到了這麼多。不過,我確信我只是不理解整個概念,希望這只是一個簡單的問題,我試圖引用數據...
這是api響應的一個示例。
"TotalPages":1, "TotalRecords":2, "Data":[
{
"code":"00000014",
"description":"Digital Strategy",
"customFieldValues":[
{
"key":135,
"name":"Department",
"value":"Sales"
}
]
},
{
"code":"T3FA",
"description":"Survey coding",
"customFieldValues":[
{
"key":135,
"name":"Department",
"value":"Finance"
}
]
} ] }
這是我簡單的代碼來循環響應。
$APIResponse = Invoke-RestMethod -Uri $Uri -Headers $Headers
ForEach ($d in $APIResponse.data) {
"Project Code = " + $d.code + ", Project Description = " + $d.description
ForEach ($e in $APIResponse.data.customFieldValues) {
"CustomField Key " + $e.key + ", Name " + $e.name + ", Value " + $e.value
}
}
我想這是做什麼,它是被要求做的,它的循環遍歷所有customFieldValue但我需要它只是通過與我目前通過,如果循環項目中的自定義字段循環這有什麼意義?