【发布时间】:2014-11-03 00:57:39
【问题描述】:
我如何转换这个 json var
email = {"email":"name@gmail.com"}
进入这个编码字符串?
%7B%22email%22%3A%22name%40gmail.com%22%7D
【问题讨论】:
标签: ruby-on-rails ruby json
我如何转换这个 json var
email = {"email":"name@gmail.com"}
进入这个编码字符串?
%7B%22email%22%3A%22name%40gmail.com%22%7D
【问题讨论】:
标签: ruby-on-rails ruby json
使用 CGI.escape,而不是 URI.encode/escape。 URI.encode 不会转义 JSON 数组的括号。
emails = '{"list_1":[{"Jim":"jim@gmail.com"},{"Joe":"joe@gmail.com"}]}'
> URI::encode(emails)
=> "%7B%22list_1%22:[%7B%22Jim%22:%22jim@gmail.com%22%7D,%7B%22Joe%22:%22joe@gmail.com%22%7D]%7D"
> CGI.escape(emails)
=> "%7B%22list_1%22%3A%5B%7B%22Jim%22%3A%22jim%40gmail.com%22%7D%2C%7B%22Joe%22%3A%22joe%40gmail.com%22%7D%5D%7D"
ruby - What's the difference between URI.escape and CGI.escape - Stack Overflow
【讨论】: