谁在吃我的\ n

时间:2010-09-09 18:58:10

标签: ruby-on-rails

我把这个json发送到我的控制器(如我的webrick日志中所示):

{\"repeatEveryYear\":\"TRUE\",\"scheduleTime\":\"2010-09-09T16:11:46Z\",\"message\":\"Hello World\n\nFirst test\"}

我不知道所有逃逸的来源,这不是我添加的东西,看起来铁路吃得还不错?

我的问题是,第二个\ n会在过程中的某些地方被吃掉。这是我的控制器读取json:

class SchedulesController < ApplicationController
  def create
    @schedule = Schedules.new.from_json(params[:schedule])
    @schedule.save
    render :json => "ok"
  end
end

关于我可以采取哪些措施来解决这个问题?

谢谢

1 个答案:

答案 0 :(得分:0)

您可能需要双重转义换行符:

{\"repeatEveryYear\":\"TRUE\",\"scheduleTime\":\"2010-09-09T16:11:46Z\",\"message\":\"Hello World\\n\\nFirst test\"}

这会在第一次传递(第一次解码)时将每个\\转换为\,然后在第二次传递时将\n转换为换行符(因为它看起来像是两个 - 传递字符串)。