[英]Edit Json using powershell
我有一个复杂的配置文件,我想使用 Powershell 进行更新。
有什么有用的方法可以实现吗?
我只想更新 SelectedCodes。
文件:
<?xml version="1.0"?>
<Settings>
<ServerIPAddress>192.168.150.128:8090</ServerIPAddress>
<SettingString>
{
"StationName":"Testing",
"LocationCode":12,
"AskForMoreDetails":false,
"IsLaptop":false,
"SpecificDepartment":"",
"SelectedCodes":[
{
"Id":16,
"Name":"Code Blue",
"HtmlColorCode":"#0000FF",
"TextColorCode":"#ffffff",
"DisplayOrderNumber":1
},
{
"Id":19,
"Name":"CCRT",
"HtmlColorCode":"#3CB371",
"TextColorCode":"#FFFFFF",
"DisplayOrderNumber":3
}
],
"AreaCode":12
}
</SettingString>
<StartUpLaunchSet>False</StartUpLaunchSet>
<CodeRedId>27</CodeRedId>
</Settings>
您首先必须创建另一个代码 object ,例如:
$additionalCode = [pscustomobject]@{
Id='20'
Name='Code Red'
HtmlColorCode='#e83f3f'
TextColorCode='#ffffff'
DisplayOrderNumber='5'
}
要将其添加到您的文件中,我们首先必须读取文件
$filePath = 'c:\path\to\file.xml'
[XML]$xmlObject = Get-Content -Path $filePath
将 xml 的 JSON 部分转换为 PowerShell ZA8CFDE6331BD59EB2AC96F8911Z4B6
$settingJson = $xmlObject.Settings.SettingString | ConvertFrom-Json
添加之前创建的附加代码 object
$settingJson.SelectedCodes += $additionalCode
将 JSON 转换为字符串并将其存储回 XML object
$settingString = $settingJson | ConvertTo-Json
$xmlObject.Settings.SettingString = $settingString.ToString()
将 XML 文档保存到文件
$xmlObject.Save('c:\path\to\edited.xml')
或者直接覆盖文件
$xmlObject.Save($filePath)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.