Javascript Object Notation(JSON)是一种轻量级结构,易于人类阅读,并且易于解析和理解。尽管名称包含Javascript,但是Javascript和JSON都不同,并且它们的语法和结构也不同。
您可以获取有关JSON的更多信息
https://www.json.org/json-zh.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
如果您有一组以上的键值对,则需要在数组Syntax- []中声明它们,并需要用逗号(,)分隔每组。
[ { "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
}
]
在上面的示例中,各个服务被拆分为一组数组。