在 PowerShell 中查看 JSON 的值与类型 —— 通过 ConvertFrom-Json 观察配置

PowerShellカテゴリを表すパンダのイラスト PowerShell

关于本文
本文是通过利用生成式 AI 的自动化生成流程创建的。我们确认了 PowerShell 的 JSON 转换规范,并将其整理为一个极简示例,用于将虚拟 JSON 转换为对象并观察其类型和值。

验证状态:📘 已确认 Microsoft 官方规范・未在 PowerShell 实机上验证

在 PowerShell 中处理 JSON 时,比起观察字符串的外观,查看 ConvertFrom-Json 之后的对象结构会更容易理解。

首先尝试

$json = '{"name":"papanda","settings":{"retry":3,"enabled":true}}'
$obj = $json | ConvertFrom-Json
$obj
$obj.settings.retry
$obj.settings.enabled.GetType().FullName

retry 作为数值处理,而 enabled 作为布尔值处理。

修改一处试试

"retry":3 将其更改为 "retry":"3"。虽然显示效果相似,但类型已经改变了。

$obj.settings.retry.GetType().FullName

为什么这很重要

在 API 和配置文件中,3"3" 是截然不同的。由于在比较、加法和验证处理中可能会导致非预期的结果,因此养成同时检查值和类型的习惯会很有帮助。

如果在工作中应用

在检查 Graph API 的响应、配置备份或 CI/CD 的 JSON 时,请先显示目标属性和类型,然后再进行处理。切勿盲目直接更新庞大的 JSON,请先以只读方式确认其结构。

在可复用版本中,我们还额外增加了用于将 port 在数值和字符串之间切换的参数、所有属性的类型一览,以及当类型与预期不符时的 [FAILED] 显示。在通过文章中的简短示例理解了类型差异后,您可以进入更接近实战的检查环节。

总结

与其将 JSON 视作字符串来浏览,不如将其转换为 PowerShell 对象并观察其值和类型,这样可以减少出错。不妨尝试将单个值更改为字符串,并确认其在处理上的区别。

官方资料

  • Microsoft Learn: ConvertFrom-Json

GitHub 示例

文档信息

文章??
在 PowerShell 中查看 JSON 的值与类型 —— 通过 ConvertFrom-Json 观察配置
?布日期
更新日期
来源
https://papanda925.com/?p=16494&lang=zh

?可: ?于本站?有相??利的正文及原??表,除非?有?明,可依据 CC BY 4.0 使用。本文可能包含使用生成式AI?建或??的内容。若代??有?可声明,或?接的GitHub???定了?可,?代?以??可?准。引用内容、第三方?料、?片及商?不在本?可范?内。 使用政策

标题和URL已复制