在 PowerShell 中解释 JSON 格式。


JavaScript 对象表示法 (JSON) 是一种轻量级的数据结构,易于人工阅读,也易于机器解析和理解。尽管名称中包含 JavaScript,但 JavaScript 和 JSON 是不同的,它们的语法和结构也不同。

您可以获取有关 JSON 的更多信息

https://www.json.org/json-en.html

其基本结构是键值对,两者之间用冒号“:”分隔。它与哈希表、PSCustomObject 的结构几乎相同。例如:

{
   "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
   }
]

在上面的示例中,各个服务被拆分为一组数组。

更新于:2020年12月18日

浏览量 1K+

启动您的职业生涯

通过完成课程获得认证

开始
广告
© . All rights reserved.