我正在尝试使用sh命令调用curl命令,但是无论尝试如何,我都会收到“解析JSON时出错”的信息。
sh """
curl -s -X POST \
--url www.example.com
--data \"{\'state\': \'failure\'}\"
"""
答案 0 :(得分:0)
JSON标准要求在键值对周围加双引号。在您的示例中,看起来您在--url之后也缺少了\
。
尝试:
sh '''
curl -s -X POST \
-H \'Content-type: application/json\' \
--url www.example.com \
--data \'{"state": "failure"}\'
'''
如果最终需要使用字符串插值,则
sh """
curl -s -X POST \
-H 'Content-type: application/json' \
--url www.example.com \
--data '{\"state\": \"status\"}'
"""
答案 1 :(得分:0)
问题: 我认为您错误地添加了终止符。
解决方案: 只需使用此格式。应该可以。
curl -s -X POST --header "Content-Type: application/json" \
--request POST \
--data '{"state":"failure"}' \
http://www.example.com