我需要從XML文檔讀取一些數據,然後將其格式化爲JSON,以便作爲POST提交給我們正在部署的新Web服務。雖然我得到了大多數它工作,我對JSON如何出來(我可以修改web服務,如果需要的話,所以我現在的數據格式問題大多是化妝品)並不是很滿意。從xml文檔/ Powershell生成JSON /控制陣列格式
所以...數據源(XML文件):
<ConfigRepository ServiceUri="http://somemachine"
ConnectionTimeout="10000"
CacheEnabled="true"
CacheExpirationDuration="600"
ServiceMonitorPollDuration="10" />
PowerShell代碼閱讀本/生成JSON:
$configRepository = @()
foreach($attr in ($xml.Configuration.ConfigRepository).attributes)
{
$configRepository += @{ $attr.Name = $attr.Value}
}
當輸出到JSON,我得到的是這樣的:
"ConfigRepository": [
{
"CacheEnabled": "true"
},
{
"CacheExpirationDuration": "600"
},
{
"ConnectionTimeout": "10000"
},
{
"ServiceMonitorPollDuration": "10"
},
{
"ServiceUri": "http://somemachine"
},
]
實際的問題:
有沒有一種方法來保持我的PS代碼通用,但有這樣的輸出呢?
"ConfigRepository": [
{
"CacheEnabled": "true"
"CacheExpirationDuration": "600"
"ConnectionTimeout": "10000"
"ServiceMonitorPollDuration": "10"
"ServiceUri": "http://somemachine"
},
]
'$ configRepository'是一個數組。你如何將數組轉換爲JSON? –
使用標準的'ConvertTo-Json' - 這個數組是一個更大的數組的一部分,我只發佈了一些與手頭問題相關的部分... –