使用Powershell修改JSON文件

时间:2018-03-16 18:16:51

标签: json powershell

您好我正在尝试使用PowerShell修改JSON文件。我想从PowerhShell传递一个变量,它将替换JSON文件中的两个值(Placeholder1和Placeholder2)。对于第一个无效的值,我有以下内容。

PowerShell的

$a = Get-Content $pathToJson -raw | ConvertFrom-Json
$a.update | % {if($_.name -eq 'placeholder1'){$_.name=$record_name}}
$a | ConvertTo-Json -Depth 20 | set-content $pathToJson

JSON

{
  "Comment": "Update record for Route 53",
  "Changes": [
    {
      "Action": "UPSERT",
      "ResourceRecordSet": {
        "Name": "placeholder1",
        "Type": "CNAME",
        "TTL": 300,
        "ResourceRecords": [
          {
            "Value": "placeholder2"
          }
        ]
      }
    }
  ]
}

1 个答案:

答案 0 :(得分:-1)

您可以尝试更换文本,而不是转换为JSON,而不是转换为JSON,如下所示:

(Get-Content $pathToJson).Replace("placeholder1", $record_name) | Set-Content $pathToJson

您可以将.Replace()函数与另一个函数链接,以使用它应该的值更新占位符2.