ruby-on-rails – JSON :: ParserError:757:'{的意外令牌

当前的哈希是
{\"report_name\"=>\"Study/Control: ABIRATERONE ACETATE - 20151413355\",\"left_mue_start_date\"=>\"02-26-2015\",\"left_mue_end_date\"=>\"03-19-2015\",\"right_mue_start_date\"=>\"02-26-2015\",\"right_mue_end_date\"=>\"03-19-2015\",\"report_formulary_id\"=>\",7581\",\"mue\"=>\"true\",\"mue_type\"=>\"study/control\",\"chain_id\"=>\"1\",\"left_mue_formulary_ids\"=>[\"7581\"],\"action\"=>\"create_report\",\"controller\"=>\"informatics\",\"user_id\"=>339}

现在我需要将其转换为适当的哈希值

{"report_name" => "Study/Control: ABIRATERONE ACETATE - 20151413355"}

所以我试图用JSON.parse得到它,但我得到的错误如下:

JSON::ParserError: 757: unexpected token at '{

所以,如果有人知道这一点,请帮助我.
我正在使用Rails 3.2

解决方法

你有一个打印为String的哈希.要将其转换为Hash,请使用 eval.
ch = "{\"report_name\"=>\"Study/Control: ABIRATERONE ACETATE - 20151413355\",\"user_id\"=>339}"
hash = eval(ch)
# => {"report_name"=>"Study/Control: ABIRATERONE ACETATE - 20151413355","left_mue_start_date"=>"02-26-2015","left_mue_end_date"=>"03-19-2015","right_mue_start_date"=>"02-26-2015","right_mue_end_date"=>"03-19-2015","report_formulary_id"=>",7581","mue"=>"true","mue_type"=>"study/control","chain_id"=>"1","left_mue_formulary_ids"=>["7581"],"action"=>"create_report","controller"=>"informatics","user_id"=>339}

PS:JSON字符串应如下所示,这意味着您拥有的不是JSON,因此您在非JSON字符串上使用JSON.parse时获得了JSON :: ParserError:

"{\"report_name\":\"Study/Control: ABIRATERONE ACETATE - 20151413355\",\"left_mue_start_date\":\"02-26-2015\",\"left_mue_end_date\":\"03-19-2015\",\"right_mue_start_date\":\"02-26-2015\",\"right_mue_end_date\":\"03-19-2015\",\"report_formulary_id\":\",\"mue\":\"true\",\"mue_type\":\"study/control\",\"chain_id\":\"1\",\"left_mue_formulary_ids\":[\"7581\"],\"action\":\"create_report\",\"controller\":\"informatics\",\"user_id\":339}"

相关文章

以下代码导致我的问题: class Foo def initialize(n=0) @n = n end attr_accessor :n d...
这是我的spec文件,当为上下文添加测试“而不是可单独更新用户余额”时,我得到以下错误. require 's...
我有一个拦截器:DevelopmentMailInterceptor和一个启动拦截器的inititializer setup_mail.rb. 但我想将...
例如,如果我有YAML文件 en: questions: new: 'New Question' other: recent: ...
我听说在RSpec中避免它,let,let !,指定,之前和主题是最佳做法. 关于让,让!之前,如果不使用这些,我该如...
我在Rails中使用MongoDB和mongo_mapper gem,项目足够大.有什么办法可以将数据从Mongoid迁移到 Postgres...