当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 使用 PowerShell 读取、修改和解析 JSON 文件(对象)

作者:精品下载站 日期:2024-12-14 01:52:59 浏览:16 分类:玩电脑

使用 PowerShell 读取、修改和解析 JSON 文件(对象)


JSON 是一种流行的基于文本的格式,用于表示和传输基于 JavaScript 对象语法的结构化数据。 PowerShell 中有两个 cmdlet 允许您使用 JSON 数据格式:

ConvertFrom-Json

ConvertTo-Json

。让我们看看如何使用 PowerShell 创建、读取或修改 JSON 对象并将其保存到文件中。

JSON 格式的数据表示为key:value 对(允许属性嵌套)。假设您要将 JSON 数据写入文件。创建 JSON 结构化数据对象:

$obj = @{
    Name = "Henry"
    Roles = @{
          AD = "Admin"
          SQL = "Report"
      }
      "Company" = "a-d"
  }

现在将对象转换为 JSON 格式并将其保存到扩展名为 .json 的文件中:

$json = $obj | ConvertTo-Json
$json | Set-Content -Path C:\PS\userroles.json

您现在可以读取 JSON 文件:

$json = Get-Content -Path C:\PS\userroles.json -Raw | ConvertFrom-Json

列出所有 JSON 对象属性:

$json|fl

或者您可以获取 JSON 对象中特定属性的值:

$json.roles.sql

使用 Add-Member 命令向 JSON 对象添加新属性:

$json| Add-Member -MemberType NoteProperty -Name "Email" -Value "[email "

[玩转系统] 使用 PowerShell 读取、修改和解析 JSON 文件(对象)

使用以下命令更改 JSON 对象中的单个值并将其保存到文件中:

$json.roles.sql='Admin'
$json|ConvertTo-Json| Set-Content -Path C:\PS\userroles.json

删除 JSON 对象属性:

$json.PSObject.Properties.Remove("Email")

通过使用 Invoke-WebRequest PowerShell cmdlet,您可以访问 JSON HTTP API 以从外部 Web 服务(站点)获取数据。例如,以 JSON 格式列出 Google DNS 服务返回的 A 记录:

$site="a-d.site"
$rawresp=Invoke-WebRequest "https://dns.google/resolve?name=$site&type=A"
$rawjson = ConvertFrom-Json -InputObject $rawresp.Content
$rawjson.answer.data

[玩转系统] 使用 PowerShell 读取、修改和解析 JSON 文件(对象)

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯