解释 PowerShell 中的 JSON 格式。
powershellmicrosoft technologiessoftware & coding更新于 2026/2/5 23:07:17
Javascript 对象表示法 (JSON) 是一种轻量级结构,易于人类阅读,也易于机器解析和理解。虽然名称中包含 Javascript,但 Javascript 和 JSON 并不相同,它们的语法和结构也不同。
您可以获取更多关于 JSON 的信息
https://www.json.org/json-en.html
它的基本结构是键值对,但两者之间用冒号":"分隔。它的结构与哈希表 PSCustomObjecct 几乎相似。例如:
{
"Name": "Albert Don"
}
如果您有多个键值对,可以用逗号分隔。例如:
{
"Name": "Albert Don",
"City": "New York",
"SSID": 17728839
}
将上述文件保存为扩展名 .json。我们将首先使用 ConvertFrom-Json 命令获取表格格式的输出。还有一个命令可以使用 ConvertTo-Json 命令将文件/输出转换为 JSON。
PS E:\scripts\Powershell> Get-Content .\test.json | ConvertFrom-Json Name City SSID ---- ---- ---- Albert Don New York 17728839
如果您有多组键值对,则需要在数组语法 - [] 内声明它们,并使用逗号 (,) 分隔每组。
示例
[
{
"Name": "Albert Don",
"City": "New York",
"SSID": 17728839
},
{
"Name":"John Carter",
"City":"Ohio",
"SSID":224544
},
{
"Name":"Milly Lucas",
"City":"Netherlands",
"SSID":44903
}
]
输出
PS E:\scripts\Powershell> Get-Content .\test.json | ConvertFrom-Json Name City SSID ---- ---- ---- Albert Don New York 17728839 John Carter Ohio 224544 Milly Lucas Netherlands 44903
您可以使用 Convertto-Json cmdlet 将输出表转换为 Json 格式。请参阅以下示例。
Get-Service | Select Name, DisplayName, Status,StartType | Select –First 3 | ConvertTo-Json
输出
PS E:\scripts\Powershell> Get-
Service | Select Name, DisplayName, Status,StartType | Select -
First 3 | ConvertTo-Json
[
{
"Name": "AarSvc_69f5c",
"DisplayName": "Agent Activation Runtime_69f5c",
"Status": 1,
"StartType": 3
},
{
"Name": "AdobeARMservice",
"DisplayName": "Adobe Acrobat Update Service",
"Status": 4,
"StartType": 2
},
{
"Name": "AdobeFlashPlayerUpdateSvc",
"DisplayName": "Adobe Flash Player Update Service",
"Status": 1,
"StartType": 3
}
]
在上面的例子中,各个服务被分成一组数组。

