处理从 Invoke-RestMethod

时间:2021-04-25 15:30:53

标签: json powershell rest

我对 powershell 很陌生,我不知道该怎么做。 我有以下代码

$rest = Invoke-RestMethod -Uri https://blockchain.info/balance?active=3PyoQHou1BQeJnbkpKpgQNxF8wk3EXXVHP

$rest 输出:

$rest

3PyoQHou1BQeJnbkpKpgQNxF8wk3EXXVHP                                 
----------------------------------                                 
@{final_balance=150050010291; n_tx=20; total_received=150050010291}

如何将 final_balance 的值加载到变量中?

1 个答案:

答案 0 :(得分:0)

由于 3PyoQHou1BQeJnbkpKpgQNxF8wk3EXXVHP 以数字开头,因此在尝试使用语法 $rest.3P... 访问该属性时会出错。您可以做的是将其包装在一个字符串中,例如:$rest."3P.."。查看以下结果:

> $rest = Invoke-RestMethod -Uri https://blockchain.info/balance?active=3PyoQHou1BQeJnbkpKpgQNxF8wk3EXXVHP

3PyoQHou1BQeJnbkpKpgQNxF8wk3EXXVHP
----------------------------------
@{final_balance=150050010291; n_tx=20; total_received=150050010291}

> $rest.3PyoQHou1BQeJnbkpKpgQNxF8wk3EXXVHP

ParserError:
Line |
   1 |  $rest.3PyoQHou1BQeJnbkpKpgQNxF8wk3EXXVHP
     |        ~
     | Missing property name after reference operator.

> $rest."3PyoQHou1BQeJnbkpKpgQNxF8wk3EXXVHP"

final_balance n_tx total_received
------------- ---- --------------
 150050010291   20   150050010291

> $final_balance = $rest."3PyoQHou1BQeJnbkpKpgQNxF8wk3EXXVHP".final_balance
> $final_balance

150050010291

在终端中,您可以按 Ctrl+Space 来获得一些自动完成功能。也许这取决于终端,但如果它有效,它对于导航到属性和获取建议真的很有帮助。