json - ConvertFrom-Json : Invalid JSON primitive:

标签 json powershell azure azure-web-app-service azure-blob-storage

我试图运行一个从 CMS 端点获取 JSON 文件的脚本,将其传递到管道上以 Convertfrom-json。但是,我收到一条错误消息,指出无效的 JSON 原语。

ConvertFrom-Json : Invalid JSON primitive: . At D:\AzureProject\SetupusingParameterfile.ps1:13 char:75

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

注意:这篇文章的目的是分享 Azure 项目 PoC 期间遇到的一些事情,并希望为以后的人提供服务。

最佳答案

方法 1:-Raw 尝试将 -Raw 与 Get-Content 一起使用,以便 Get-Content 创建对象,而不是单独读取每一行并存储为数组。

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

方法 2:Out-String 尝试将 Get-Content 通过管道传输到 |输出字符串如下:

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

使用 IDE 查看 JSON 最后,当我打开 CMS 生成的 JSON 的已保存副本时,我想起了 IDE 通知。它有一个预期的 EOF,但如果你注意到上面的 JSON 结构,它有一个“,”,这导致了这个问题。

我再次尝试了 -Raw 和 Out-String 执行,它按预期工作。

关于json - ConvertFrom-Json : Invalid JSON primitive:,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37558792/

相关文章:

javascript - 为什么要添加多个类?

powershell - 使用 Powershell 检测修补程序和累积更新

powershell - 使用变量-Path参数运行Powershell命令

azure - AADSTS70001 : Application is not supported for this API version

jquery - 在 jquery ajax 中从 JS 端的 JsonResult 获取属性

ios - 无法解析manifest.json。 ionic v3 --livereload ios 设备

ios - 在本地存储 JSON 数据并在 tableView 中呈现时出现问题

powershell - PowerShell修改CSV中的日期列

azure - 通过 PowerShell 查找 Azure SQL 数据库异地复制辅助数据库

spring-boot - 用于安全托管 zip 文件的 Azure 服务