我有一个主要的API请求,我正在尝试与Powershell一起将其作为JSON进一步发送到PowerBI。 XML格式如下(但更大):
<queryResponse last="99" first="0" count="2" type="APD" responseType="list" requestUrl="an URL" rootUrl="root URL">
<entity dtoType="aPDDTO" type="APD" url="URL_ID">
<accessPointDetailsDTO displayName="ID" id="ID">
<adminStatus>ENABLE</adminStatus>
<apType>AP2600I</apType>
<clientCount_5GHz>2</clientCount_5GHz>
<status>CLEARED</status>
<type>UnifiedAp</type>
<cdpNeighbors>
<cdpNeighbor>
<capabilities>Switch IGMP </capabilities>
<duplex>Full Duplex</duplex>
<interfaceSpeed>100Mbps</interfaceSpeed>
我希望能够发送的不是指定字段,而是所有其他字段。 当API使用我尝试使用的JSON时,我使用了一个循环:
while ($true) {
$AccessPointDetails = Invoke-WebRequest -Uri $Uri -Headers @{"Authorization"="Basic $BasicCreds"}
foreach ($AccessPoint in $AccessPointDetails) {
$payload = @{
"adminStatus" = $AccessPoint.adminStatus
}
Invoke-RestMethod -Method Post -Uri "$endpoint" -Body (ConvertTo-Json @($payload))
sleep 100
}
}
我没有任何值,所以我猜它不知道数据在哪里。
编辑1
我发现了一些有关执行以下操作的提示,以便在代码末尾显示数据:
[ xml ]$fileContents = Get-Content -Path $Result
问题是似乎不喜欢我尝试读取的数据中的第一行,因为它向我抛出了此错误:
Get-Content : Cannot find drive. A drive with the name '<?xml version="1.0" ?>
答案 0 :(得分:0)
我通常会获取json内容,将其写入一个简单的txt文件中,添加所需的行或值,然后将其转换为Json。
这通常让我避免任何问题