2017-06-25 22 views
0

我创建一个JSON格式的字符串构建JSON字符串时\输出是正确的,只是所有qoutes已被替换的\字符,而不是”“正在改变在PowerShell中

{ 
    \$schema\: \https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#\, 
    \contentVersion\: \1.0.0.0\, 
    \parameters\: { 
\type\: \web\, 
\name\: \Cluster\, 
\hockeyAppToken\: \\, 
\hockeyAppId\: \\, 
\regionId\: \southcentralus\, 
\requestSource\: \IbizaAIExtension\ 
} 
} 

代码生成Json

$fullDoc = ' 
{ 
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#", 
    "contentVersion": "1.0.0.0", 
    "parameters": ' + $armsettings + '}' 

$json = $fullDoc | ConvertTo-Json -depth 100 
$json = $json.Replace("\r","") 
$json = $json.Replace("\n",([Environment]::NewLine)) 
$json = $json.Replace("@{","{") 
$json = $json.Trim() 
$json = $json.Replace($json.Substring(0,1),"")   

Write-Host $json 

有关如何解决此问题的任何想法?

这是正确格式的文档

{ 
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#", 
"contentVersion": "1.0.0.0", 
"parameters": { 
    "type": { 
     "value": "web" 
    }, 
    "name": { 
     "value": "Cluster" 
    }, 
    "hockeyAppToken": { 
     "value": "" 
    }, 
    "hockeyAppId": { 
     "value": "" 
    }, 
    "regionId": { 
     "value": "southcentralus" 
    }, 
    "requestSource": { 
     "value": "IbizaAIExtension" 
    } 
} 
} 
+0

为什么不'$ fullDoc | ConvertTo-Json | ConvertFrom-Json'? – Avshalom

+0

这到底是怎么回事? @Avshalom – 4c74356b41

+0

@Avshalom。谢谢!这就像一个魅力:) –

回答

0
$fullDoc | ConvertTo-Json | ConvertFrom-Json 
+1

所以这到底是什么做?它如何构建json? – 4c74356b41

+0

他的问题是,他试图操纵与字符串替换工具等JSON时,他可以得到正确的结果与内置convertFrom-Json – Avshalom

+0

convertfrom-json不建立JSON,它创建一个对象 – 4c74356b41