PowerShell имеет встроенную поддержку для обработки JSON, поэтому давайте проведем ваш ввод через ConvertFrom-Json
и посмотрим, что мы получим.
$Result = '{"transaction":{"id":"83123b05-2435-40c9-851d-a5636f092637","processed_at":"2019-04-05T13:02:19.689188Z","transaction_type":"Debit","currency_code":"GBP","amount":25000,"recipient_id":"8a659242-8e70-47e1-85ca-2fe18cb262a0","status":"Waiting for funds","status_info":"Insufficient Funds To Process","reconciliation":null,"reference":"D000000516","account_id":"07b286ad-dabc-42a7-ab1b-5302fd382e6c","tag":null,"end_balance":null,"idempotent_key":"1f25e9f8-64cf-4e91-b4d3-8753437b6dbb","created_at":"2019-04-05T13:02:19Z","updated_at":"2019-04-05T13:02:19Z"}}'
$Result = $Result | Convertfrom-json
При использовании вы просто запустите последнюю часть, чтобы преобразовать $Result
в объект PowerShell.
$Result
имеет одно свойство с именем .transaction
, в котором хранится вся информация. Мы можем получить это с помощью следующего синтаксиса.
$result.transaction
id : 83123b05-2435-40c9-851d-a5636f092637
processed_at : 2019-04-05T13:02:19.689188Z
transaction_type : Debit
currency_code : GBP
amount : 25000
recipient_id : 8a659242-8e70-47e1-85ca-2fe18cb262a0
status : Waiting for funds
status_info : Insufficient Funds To Process
reconciliation :
reference : D000000516
account_id : 07b286ad-dabc-42a7-ab1b-5302fd382e6c
tag :
end_balance :
idempotent_key : 1f25e9f8-64cf-4e91-b4d3-8753437b6dbb
created_at : 2019-04-05T13:02:19Z
updated_at : 2019-04-05T13:02:19Z
Итак, теперь, если мы хотим извлечь определенные значения оттуда, мы запустим следующее.
C:\Users\Stephen> $result.transaction.amount
25000
C:\Users\Stephen> $result.transaction.status
Waiting for funds
C:\Users\Stephen> "Transaction in the amount of $($result.transaction.amount) -- status: $($result.transaction.status)"
Transaction in the amount of 25000 -- status: Waiting for funds
Это должно помочь вам в этом.
Последний тидбит, если вы поменяете Invoke-WebRequest
на Invoke-RestMethod
, преобразование из JSON будет выполнено для вас автоматически!