我有一个字符串,该字符串是通过API响应通过ajax调用传递的(我无法在发送到Rails之前更改数据,因为它是用视图中的jQuery完成的)
str = '{"0"=>{"firstName"=>"Testing", "lastName"=>"It", "email"=>"test@example.com"}, "1"=>{"firstName"=>"Tester", "lastName"=>"You", "email"=>"test2@example.com"}}'
我想将其解析为哈希的红宝石数组。
使用JSON进行最逻辑的解析失败:
JSON.parse(str)
JSON :: ParserError(765:'{“ 0” => {“ firstName” =>“ Testing”,“ lastName” =>“ It”,“ email” =>“ testing@example.com上的意外令牌“},” 1“ => {” firstName“ =>” Tester“,” lastName“ =>”您“,”电子邮件“ =>” test2@example.com“}}')
任何想法如何优雅解析而无需gsub或split。也许以某种方式将字符串转换为哈希格式的Ruby数组?
答案 0 :(得分:2)
由于这是红宝石哈希,因此可以使用eval
hash = eval(str)
答案 1 :(得分:0)
感谢Hayden指出这一点!实际上,我传递的是无效的JSON,因为我传递的是对象而不是JSON。通过使用JSON.stringify