[英]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.