to_json随机添加意外的空格

时间:2011-11-17 10:47:33

标签: ruby-on-rails ruby json

我遇到了“to_json”方法的一个奇怪的问题:它随机地将意外的空格或未编码的字符添加到我的JSON数组中。 IE:

[{
    "foo" : "bar",
    "valid": tr ue,
    "bar" : "foo&qu ot;
}]

在某些情况下,它只是在我不希望的地方添加一个空格,而在其他情况下,它会在非标准字符中添加一个空格。

我试着谷歌这个,但我没有发现任何类似的问题。

此外,它似乎截断了一些长JSON对象,显然当对象长度在65'000到70'000之间时。

  • ruby​​ 1.8.7
  • rails 3.0.10

编辑:这是我的控制器的代码

class CalendarController < PrivateController
  require 'open-uri'
  require 'json'

  def index
    respond_to do |format|
      format.html  {  }
      format.json { render :text => self.generate_json }
    end
  end

  def generate_json
    feed = []
    feed = feed.concat(read_and_parse(schedules_url(:format => :json, :start => params[:start], :end => params[:end], "_" => params["_"])))
    feed = feed.concat(read_and_parse(events_url(:format => :json, :start => params[:start], :end => params[:end], "_" => params["_"])))
    feed.to_json
  end

  private

  def read_and_parse(url)
    file = open(url).read
    feed = JSON.parse(file)
    return feed
  end
end

0 个答案:

没有答案