我有一个mytest.json如下的json文件,我想使用更新值PowerShell script
mytest.json
PowerShell script
update.json
{ "update": [ { "Name": "test1", "Version": "2.1" }, { "Name": "test2", "Version": "2.1" } ] }
我想编写一个PowerShell脚本,在其中if Name=="test1" I want to update Version= "3" 如何使用参数?
if Name=="test1" I want to update Version= "3"
这是一种方法:
$a = Get-Content 'D:\temp\mytest.json' -raw | ConvertFrom-Json $a.update | % {if($_.name -eq 'test1'){$_.version=3.0}} $a | ConvertTo-Json -depth 32| set-content 'D:\temp\mytestBis.json'
根据@FLGMwt和@mikemaccana,我改进了ConvertTo-Jsonwith,-depth 32因为默认深度值为2,对于深度大于2的对象,尽管有对象,您仍会收到类信息。
ConvertTo-Json
-depth 32