我正在尝试使用Perl(OTRS)编写的服务的Web API。 数据以JSON格式发送。
JSON结构中的一个字符串值包含一个井号,显然在JSON中用作注释字符。 这会导致解析错误:
解析时字符串意外结束 JSON字符串
我无法找到如何转义字符以便成功解析字符串。 明显的斜线逃逸导致:
非法反斜杠转义序列 串
任何想法如何逃脱它?
更新 我试图使用的URL看起来像那样(简化但仍导致错误):
http://otrs.server.url/otrs/json.pl?User=username&Password=password&Object=TicketObject&Method=ArticleSend&Data={"Subject":"[Ticket#100000] Test Ticket from OTRS"}
答案 0 :(得分:7)
答案 1 :(得分:5)
哈希符号#
有一个special meaning in URLs,而不是JSON。在删除服务器甚至看到它之前,您的URL可能会被截断:
http://otrs.server.url/otrs/json.pl?User=username&Password=password&Object=TicketObject&Method=ArticleSend&Data={"Subject":"[Ticket
这意味着远程服务器在Data
中被破坏了JSON。解决方案是对参数进行URL编码,然后将它们粘贴在一起形成您的URL; eugene y告诉你如何做到这一点。