JSON解析生成url编码的字符串

时间:2011-05-19 18:49:00

标签: ruby-on-rails string json

之前我从未注意到这种行为,但是当解析保存在cookie中的JSON编码的字符串时,字符串似乎是url编码的(主要是症状是空格被加号“+”符号替换)。

基本上它是一个flash消息数组(如在Rails中,我不确定问题是否在编码方面)使用以下编码:

def write_flash_to_cookie
  cookie_flash = {}

  flash.each do |key, value|
    if cookie_flash[key.to_s].nil? or cookie_flash[key.to_s].blank?
        cookie_flash[key.to_s]= [value]
    else
        cookie_flash[key.to_s]<< value
    end
  end

  cookies['flash']= cookie_flash.to_json
  flash.clear
end

并显示如下:

if($.cookie('flash')) {
  var flash= $.parseJSON($.cookie('flash'));

  for(type in flash) {
    for(message in flash[type]) {
      $('#flash').append("<div class=\"" + type + "\">" + flash[type][message] + "</div>");
    }
  }
}

我看不到我在这里缺少的东西......

1 个答案:

答案 0 :(得分:0)

在字符串的末尾尝试.html_safe。我相信这对过去这个问题有帮助。