【发布时间】:2015-10-15 14:23:20
【问题描述】:
大家好,我正在向 Campaign Monitor API 发出请求,数据必须以单引号作为字符串保存,但格式为 JSON。因为它必须是单引号,所以我无法输入任何变量值。下面是代码。
response = HTTParty.post(url,
:basic_auth => auth, :body => '{
"EmailAddress":"js@mike.com",
"Name":"#{@fname}",
"CustomFields":[
{
"Key":"firstName",
"Value":"#{@fname}"
},
{
"Key":"country",
"Value":"#{@country}"
}
],
"Resubscribe":true,
"RestartSubscriptionBasedAutoresponders":true
}')
我尝试了几种不同的方法,例如将字符串分解并将其与带双引号的变量拼凑在一起,但同样失败了,要使请求成功,它必须是准确的。
【问题讨论】:
-
这完全没有意义。字符串就是字符串,不管它是定义为单引号字符串文字、双引号字符串文字、heredoc 还是粉色魔法独角兽。
HTTParty::post方法根本无法区分单引号和双引号,这只是字符串文字的语法,甚至无法通过解析过程。