Ruby 为什么json.parse在前面插入反斜杠#

Ruby 为什么json.parse在前面插入反斜杠#,ruby,json,Ruby,Json,我有一个JSON文件,如下所示: [ {"testid" : 1, "desc" : "with valid email", "rescode" : 200, "request" : {"my_user" : {"email" : "#{$user.email}", "password" : "abcde"}, "source" : "android"}}, {"testid" : 2, "desc" : "with valid phone", "rescode" : 200

我有一个JSON文件,如下所示:

[

    {"testid" : 1, "desc" : "with valid email", "rescode" : 200, "request" : {"my_user" : {"email" : "#{$user.email}", "password" : "abcde"}, "source" : "android"}},

    {"testid" : 2, "desc" : "with valid phone", "rescode" : 200, "request" : {"my_user" : {"phone" : "#{$user.phone}", "password" : "abcde"}, "source" : "android"}}
]
现在,当我尝试使用
JSON.parse()
解析此JSON以获取哈希时,我得到的内容在
前面有一个反斜杠,如下所示:

{"housing_user"=>{"email"=>"\\#{$user.email}", "password"=>"abcde"}, "source"=>"android"}
它阻止我使用
$user.email
的值,而是使用了
\\\\\{$user.email}


如何防止这种情况发生?

语法结构
{}
在Ruby中保留,用于字符串插值。因此,
JSON.parse
只需转义
#
符号即可防止字符串插入。
JSON.parse()
不会添加反斜杠,Ruby会在使用
显示时添加反斜杠。出于@bronislav提到的原因,请检查
(例如在irb中)。事实上,它看起来像
“\\{$user.email}”
,我不能得到双反斜杠。@VictorMoroz,你说得对。这肯定是
.inspect
@VictorMoroz:是的,我得到\{$user.email},双反斜杠错误地进入了问题。那么,有没有一种方法可以让我在解析jason后得到我的hasmap,作为{“我的用户”=>{“email”=>“{$user.email}”,“密码”=>“abcde”},“源”=>“安卓”}