首页 文章

Ruby JSON解析从字符串中删除反斜杠

提问于
浏览
1

我已将字符串化的JSON解析为我服务器上的哈希值 . 我的问题是一些关键名称(都是字符串)都有反斜杠 . 我已经通过替换双斜线逃脱了它们,Ruby似乎没有处理转义,而是当我需要剩下一个时它会完全删除所有斜杠 .

下面是一个快速的例子,说明我得到了什么 .

p = '{"blah": {"\\Something\\Else": "meh"}}'
JSON.parse(p)
=> {"blah"=>{"SomethingElse"=>"meh"}}

我需要"something else"部分为 \Something\Else ,除非它正在剥离所有斜线 .

令人讨厌的是,如果我添加1个斜杠,它将删除该1斜杠 . 如果我放4个斜杠,它会显示2个斜杠,而我放3个斜线它会显示2个斜杠 . 似乎不一致 .

我在这做错了什么?

1 回答

  • 0

    使用3个反斜杠 p = '{"blah": {"\\\Something\\\Else": "meh"}}' 当你执行 JSON.parse(p) 时,它将显示: => {"blah"=>{"\\Something\\Else"=>"meh"}}

    但它被视为1反斜杠 . 这更好地解释了:Why does ruby's JSON parser eat my backslash?

相关问题