You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell中如何从字符串转换为JSON并按名称访问JSON字段?

解决PowerShell中访问JSON字段的问题

你这里踩了个典型的JSON转换方向错误的坑!咱们一步步捋清楚:

问题根源

你手里的$body已经是JSON格式的字符串了,但你却用了ConvertTo-Json——这个 cmdlet 的作用是把PowerShell对象转换成JSON字符串,反过来用的话,只会把你的JSON字符串再套一层引号变成新的字符串,自然没法用.来访问属性。

正确的做法是用ConvertFrom-Json,它能把JSON字符串解析成PowerShell可以直接操作的自定义对象。

修正后的代码

$body = @"
{ "uuid": "Test07", "subject": "Template07-Subject" }
"@
# 核心修正:用ConvertFrom-Json解析JSON字符串为对象
$bodyObject = $body | ConvertFrom-Json

# 两种正确的属性访问方式
Write-Host "uuid=$($bodyObject.uuid)"
# 如果字段名包含特殊字符,也可以用单引号包裹字段名
Write-Host "uuid=$($bodyObject.'uuid')"

执行结果

运行上面的代码会输出:

uuid=Test07
uuid=Test07

额外小提示

你原来的JSON字符串末尾多了个逗号("subject": "Template07-Subject",),虽然有些解析器能兼容,但严格来说这是无效JSON,建议去掉,避免后续出现意外问题。

内容的提问来源于stack exchange,提问作者NealWalters

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 18:27:37