PowerShell 无法将字符串解析为 JSON
PowerShell 无法将字符串解析为 JSON
我正在尝试从PowerShell脚本中将一个JSON字符串传递给build.phonegap.com API,使用curl命令。根据phonegap的论坛,在Windows机器上运行时,JSON数据必须格式化为:
curl.exe -ku user@email:mypass -X PUT -d "data={\"password\":\"keypass\"}" https://build.phonegap.com/api/v1/key
确实,当从命令行调用时,这个命令可以正常运行。
然而,当我尝试从PowerShell脚本中调用时,双引号似乎被剥离了。
到目前为止,我尝试了以下几种方法:
- 将JSON放在单引号字符串中:
curl.exe -ku user@email:mypass -X PUT -d '"data={\"password\":\"keypass\"}"' https://build.phonegap.com/api/v1/key
- 将JSON放在不带DOS转义反斜杠的单引号字符串中:
curl.exe -ku user@email:mypass -X PUT -d '"data={"password":"keypass"}"' https://build.phonegap.com/api/v1/key
- 将JSON放在单引号字符串中,转义双引号和反斜杠(带有反斜杠的DOS样式):
curl.exe -ku user@email:mypass -X PUT -d '\"data={\\\"password\\\":\\\"keypass\\\"}\"' https://build.phonegap.com/api/v1/key
- 将JSON放在双引号字符串中,使用PowerShell的反引号字符(`)转义双引号:
curl.exe -ku user@email:mypass -X PUT -d "`"data={\`"password\`":\`"build*2014`\`"}`"" https://build.phonegap.com/api/v1/key
有什么方法可以实现这个?
感谢您的时间,
Koen