PowerShell的卷曲双引号
问题描述:
我试图调用在PowerShell中的curl命令,并通过一些JSON的信息。PowerShell的卷曲双引号
这里是我的命令:
curl -X POST -u username:password -H "Content-Type: application/json" -d "{ "fields": { "project": { "key": "key" }, "summary": "summary", "description": "description - here", "type": { "name": "Task" }}}"
我是越来越通配符的错误和“无与伦比的括号”和主机无法解析等
然后我试图将字符串与前缀双引号反引号字符,但它不能识别的描述JSON领域-
字符
感谢
编辑1:
当我在一个普通的批处理文件写的curl命令,我用双引号也没有单引号。另外,在-d
字符串中,我使用\
将所有双引号转义并且该命令正常工作。
在这种情况下,我的curl
实际上是指向curl.exe。我指定了路径,只是没有在这里列出。我也试过围绕-d
添加单引号和我:
curl: option -: is unknown curl: try 'curl --help' or 'curl --manual' for more information
好像它不能在JSON
答
管-
字符识别数据到curl.exe,而不是试图逃避它。如果你使用@-
作为数据参数
$data = @{
fields = @{
project = @{
key = "key"
}
summary = "summary"
description = "description - here"
type = @{
name = "Task"
}
}
}
$data | ConvertTo-Json -Compress | curl.exe -X POST -u username:password -H "Content-Type: application/json" -d "@-"
curl.exe读取标准输入。
P.S:我强烈建议你使用,而不是手动构建JSON字符串如图所示合适的数据结构和ConvertTo-Json
,。
** 1)**尝试封闭在单引号代替双** 2)**确保'curl.exe'的'-d'说法实际上是被调用。如果我没记错的话'curl'在PowerShell中可以为'调用,WebRequest' – arco444
您好,请您检查以上 – Kingamere
确定的编辑,可能是再退让的别名。在powershell中,转义字符是反引号'所以也许尝试在引号*里面使用* json – arco444