ConvertFrom-JSON: primitif JSON invalide:

j'essayais d'exécuter un script qui récupère le fichier JSON à partir de l'endpoint du CMS, le passe sur le pipeline pour convertir à partir de-json. Mais j'ai une erreur disant que JSON primitif est invalide.

Convert from-Json: Invalid JSON primitive:. À D:AzureProjectSetupusingParameterfile.ps1:13 char: 75

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

CategoryInfo : NotSpecified: (:) [ConvertFrom-Json], ArgumentException + FullyQualifiedErrorId : Système.ArgumentException, Microsoft.PowerShell.Commande.Converterf fromjsoncommand

Structure de mon fichier de paramètres JSON était en ligne à la façon dont la structure de fichier de paramètres Azure doit être et l'échantillon est comme ci-dessous: -

{
"$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"},
        }
}

Note: le but de ce post est de partager quelques choses qui sont venus pendant Azure projet PoC, et l'espoir de servir quelqu'un plus tard.

9
demandé sur Dijkgraaf 2016-06-01 06:13:19

1 réponses

Approche 1: - Raw Tenté D'utiliser-Raw avec Get-Content de sorte que Get-Content au lieu de lire chaque ligne séparément et de stocker sous forme de tableau, crée l'objet.

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

Approche 2: Out-String Tenté avec Get-Content canalisations d' | Chaîne comme ci-dessous:

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

Review JSON with IDE Enfin, je me suis souvenu de la notification IDE lorsque j'ai ouvert la copie sauvegardée du JSON généré par CMS. Il avait un EOF prévu mais si vous remarquez la structure JSON ci-dessus, il a obtenu un", " qui causait ce problème.

j'ai essayé à la fois L'exécution brute et L'exécution en chaîne à nouveau, et cela fonctionnait comme prévu.

14
répondu H Bala 2016-06-01 03:22:29