如何创建一个json对象并解析它

时间:2014-02-03 01:38:20

标签: ruby-on-rails json

在我的实例模型的“创建”操作中,我有:

@my_json_page = {}
@my_json_page["title"] = params[:title].to_json
@my_json_page["headline"] = params[:headline].to_json
@instance.profile_page_json = @my_json_page

在“编辑”操作中,我尝试解析它:

@parsed_json = ActiveSupport::JSON.decode(@instance.profile_page_json)

在编辑视图中,我收到了'标题字段':

%input{:type=>"text", :value=>@parsed_json["title"],:name=>"title", :style=>"width: 815px;"}

它说“MultiJson :: LoadError(795:'---'的意外标记

我不确定如何创建json对象以便以后方便地解析它。我可能做错了。如果有人能指导我,真的很感激。 感谢

1 个答案:

答案 0 :(得分:1)

不确定我是否理解你需要做什么,但是

@instance.profile_page_json = {"title" => params[:title], "headline" => params[:headline]}.to_json
'create'动作中的

应该对你有帮助。

但恕我直言,最好的方法是将params散列保存而不对变量进行编码并从视图中获取。像这样:

#in the controller
@parsed_json = params

#in the view
%input{:type=>"text", :value=>@parsed_json["title"],:name=>"title", :style=>"width: 815px;"}

你甚至可以尝试直接从视图访问params方法(不确定,但你可以试试)