如何使用PowerShell更新JSON文件(修补方法)

时间:2019-07-15 13:27:51

标签: json powershell updates

我有一个如下所示的json文件,我想使用PowerShell脚本更新值

{
  "rows": [{
    "id": 111,
    "name": "xrx",
    "serial": "A123456",
    "model": {
      "id": 8,
      "name": "wlw"
    },
    "model_number": "2323",
    "status_label": {
      "id": 22,
      "name": "out"
    }  
    }]
}

我要编辑状态标签的ID和名称(status_label-> ID和名称)。我可以用Powershell对其进行任何编辑吗?

1 个答案:

答案 0 :(得分:2)

您可以使用ConvertFrom-Json和ConvertTo-Json函数。

$Json = Get-Content C:\Temp\json.json | ConvertFrom-Json
$Json.rows.status_label.id = "newID"
$Json.rows.status_label.name = "newName"
$Json | ConvertTo-Json | Out-File C:\Temp\newJson.json

当您使用ConvertFrom-Json时,您将获得一个PowerShell对象,您可以像其他所有对象一样对其进行操作。然后,您可以将对象转换回Json字符串并覆盖旧文件或将其另存为新文件。