当我尝试提交此消息时,服务器会将消息发回给我
"Unexpected token t in JSON at position 1".
无论第一个非{非“字符是什么,它都会这样做。如果我输入{”“:”“}它会说
"Unexpected token : in JSON at position 1".
这是我的代码。
curl -H "Content-Type: application/json" -d {"test": "test"} url
我已经尝试过其他变种,在它周围加上引号并转义引号无济于事,但如果你认为这个问题可以随意提出格式。
答案 0 :(得分:1)
您需要保护双引号和空格。您可以使用单引号执行此操作,因此:
curl -H "Content-Type: application/json" -d '{"test": "test"}' url
如果没有单引号,shell会将双引号视为语法的一部分并将其删除,因此curl
只会看到
{test:
作为-d
选项和
test}
作为单独的参数发送。使用双引号,curl
会将此视为-d
的参数:
{"test": "test"}
你也可以用反斜杠实现这个目标,这有点麻烦:
curl -H "Content-Type: application/json" -d {\"test\":\ \"test\"} url
请参阅以下相关帖子/文档: