H B*_*ala 11 powershell json azure azure-storage-blobs azure-web-sites
我试图运行一个从CMS端点获取JSON文件的脚本,将其传递给管道以转换为-json.但是,我收到一个错误,说无效的JSON原语.
ConvertFrom-Json:无效的JSON原语:.在D:\ AzureProject\SetupusingParameterfile.ps1:13 char:75
Run Code Online (Sandbox Code Playgroud)$JsonContent = Get-Content $TemplateParameterFileLocal -Raw | Conver ...
CategoryInfo:NotSpecified:(:) [ConvertFrom-Json],ArgumentException + FullyQualifiedErrorId:System.ArgumentException,Microsoft.PowerShell.Commands.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"},
}
}
Run Code Online (Sandbox Code Playgroud)
注意:这篇文章的目的是分享Azure项目PoC期间出现的一些事情,并希望以后能够为某人服务.
H B*_*ala 20
方法1:-Raw 尝试将-Raw与Get-Content一起使用,以便Get-Content而不是单独读取每一行并存储为数组,从而创建对象.
$JsonContent = Get-Content $TemplateParameterFileLocal -Raw | ConvertFrom-Json
Run Code Online (Sandbox Code Playgroud)
方法2: 尝试使用Get-Content管道输出的字符串 Out-String如下:
$JsonContent = Get-Content $TemplateParameterFileLocal | Out-String | ConvertFrom-Json
Run Code Online (Sandbox Code Playgroud)
使用IDE查看JSON 最后,当我打开已保存的CMS生成的JSON副本时,我重新收集了IDE通知.它有一个EOF预期,但如果你注意到上面的JSON结构,它会得到一个',',这导致了这个麻烦.
我再次尝试了-Raw和Out-String执行,它按预期工作.
归档时间: |
|
查看次数: |
17497 次 |
最近记录: |