Командлет convertfrom-JSON-формате: неверный формат JSON примитивные:

Я пытался запустить скрипт, который извлекает файл JSON из конечной точки CMS, передает его по конвейеру в convertfrom-json. Но я получаю сообщение об ошибке с недопустимым примитивом JSON.

ConvertFrom-Json: недопустимый примитив JSON: . На D:AzureProjectSetupusingParameterfile.ps1:13 char: 75

 $JsonContent = Get-Content $TemplateParameterFileLocal -Raw | Conver ...

CategoryInfo: NotSpecified: (:) [ConvertFrom-Json], Исключение ArgumentException + FullyQualifiedErrorId : Система.ArgumentException, Microsoft.В PowerShell.Команды.ConvertFromJsonCommand

структура моего файла параметров JSON была встроена в то, как должна быть структура файла параметров Azure, и пример приведен ниже: -

{
"$schema": "http://schema.management.azure.com/schemas/20111-01-01/deploymentParameters.json#",
"contentVersion":"1.0.0.0",
"parameters": 
        {
            "hostingPlanName": {"value": "pilotHosting"},
            "hostingEnvironment": {"value": "pilotHostingenv"},   
            "serverFarmResourceGroup": {"value": "Pilot1H"},
            "sqlserverName": {"value": "pilotsrvrtrialrun11"},
            "administratorLogin": {"value": "sites1H"},
            "administratorLoginPassword": {"value": "abcdefg"},
            "serverName": {"value": "Pilotwebserver"},
            "databaseUsername": {"value": "pilot1Hattabc"},
            "databasePassword": {"value": "pilotdbabc1H"},
        }
}

Примечание: цель этого сообщения-поделиться несколькими вещами, которые возникли во время Azure project PoC, и надеяться служить кому-то позже.

1 ответов


Подход 1: - Raw Попытка использовать-Raw с Get-Content, чтобы Get-Content вместо чтения каждой строки отдельно и хранения в виде массива создавал объект.

 $JsonContent = Get-Content $TemplateParameterFileLocal -Raw | ConvertFrom-Json

Подход 2: Out-String Попытка с Get-Content, переданным в / Out-String, как показано ниже:

$JsonContent = Get-Content $TemplateParameterFileLocal | Out-String | ConvertFrom-Json

обзор JSON с IDE Наконец, я вспомнил уведомление IDE, когда я открыл сохраненную копию CMS, сгенерированную JSON. Он ожидал ВФ но если вы заметили вышеуказанную структуру JSON, она получила",", которая вызывала эту проблему.

я попробовал оба-Raw и Out-String выполнения снова, и он работал, как ожидалось.