0

我有一个这样的字符串:

//string
" { "1" => "one stuff\n print 'hi'.. ",
          "2" => "two stuff\n print 'by' "} "

如何将其转换为 JSON 对象,以便我可以使用 eg 访问其部分string["1"]

(从 Rails(表单)向 Javascript 发送数据的后续行动 )

4

1 回答 1

1

确保您在 Rails 中适当地渲染它。您列出的字符串不是有效的 javascript(它使用 ruby​​ hashrocket 语法而不是 JSON 哈希语法):

class ThingsController < ApplicationController
  def index
    respond_to do |format|
      format.json do
        str = ' { "1": "one stuff\n print \'hi\'.. ", "2": "two stuff\n print \'bye\' "} '
        render json: str
      end
    end
  end
end

或者更好(依靠 rails 从 ruby​​ 哈希为您构建 json):

class ThingsController < ApplicationController
  def index
    respond_to do |format|
      format.json do
        obj = {1 => "one stuff\n print 'hi'", 2 => "two stuff\n print 'bye'" }
        render json: obj
      end
    end
  end
end

/things.json然后假设它已连接到您的config/routes.rb文件中,然后获取 json 。

于 2013-06-26T03:57:26.913 回答