儘管我的對象是合法的Json,但ConvertFrom-Json無法成功地將我的Json解析爲對象。Powershell ConvertFrom-Json吃節點
我正在使用最新版本的Powershell。
當我試圖解析一個谷歌的請求JSON的身體是這樣的:
{
"reportScope": {
"agencyId": "11111111111111111",
"advertiserId": "22222222222222222"
},
"reportType": "adGroup",
"columns": [
{
"columnName": "status"
},
{
"columnName": "date"
},
{
"columnName": "account"
},
{
"columnName": "accountType"
},
{
"columnName": "campaign"
},
{
"columnName": "adGroup"
},
{
"columnName": "deviceSegment"
},
{
"columnName": "impr"
},
{
"columnName": "clicks"
},
{
"columnName": "dfaRevenue"
},
{
"columnName": "cost"
},
{
"columnName": "avgPos"
}
],
"timeRange": {
"startDate": "2017-09-13",
"endDate": "2017-08-14"
},
"filters": [
{
"column": {"columnName": "impr"},
"operator": "greaterThan",
"values": "0"
}
],
"downloadFormat": "csv",
"maxRowsPerFile": 6000000,
"statisticsCurrency": "agency",
"verifySingleTimeZone": "false",
"includeRemovedEntities": "false"
}
我得到一個對象是這樣的:
[DBG]: PS Microsoft.PowerShell.Core\FileSystem::\\psDashboard>> $objJson
reportScope : @{agencyId=11111111111111111; advertiserId=22222222222222222}
reportType : adGroup
columns : {@{columnName=status}, @{columnName=date}, @{columnName=account}, @{columnName=accountType}...}
timeRange : @{startDate=2017-09-13; endDate=2017-08-14}
filters : {@{column=; operator=greaterThan; values=0}}
downloadFormat : csv
maxRowsPerFile : 6000000
statisticsCurrency : agency
verifySingleTimeZone : false
includeRemovedEntities : false
[DBG]: PS Microsoft.PowerShell.Core\FileSystem::\\psDashboard>> $objJson.filters
column operator values
------ -------- ------
greaterThan 0
通知column
應該包含@{columnNane=imgr}
但它而是包含什麼。用於解析
代碼:
$objJson = Get-Content -Path $FileName -Raw | ConvertFrom-Json
任何想法?
我的最終沒有問題(Powershell 5在Windows 10上)。我確實得到了@ {columnName = impr} ...我確實把你的請求放在一個文件中,並用你的解析行導入它。 –