Командлет 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 выполнения снова, и он работал, как ожидалось.