【问题标题】:JSON Parsing error in Ruby on Rails with ActiveSupport::JSON.decodeRuby on Rails 中带有 ActiveSupport::JSON.decode 的 JSON 解析错误
【发布时间】:2023-03-16 04:55:01
【问题描述】:

这行得通:

body = '{"name":"123"}'

json_string = ActiveSupport::JSON.decode body

但这失败了

body = '{"name":"123//"}'

json_string = ActiveSupport::JSON.decode body

如果我在字符串末尾添加一个空格,那也可以

body = '{"name":"123// "}'

我已经验证了来自http://jsonlint.com/的所有3个json字符串

我正在使用 Rails 2.2.2,谁能帮我解决这个问题。

我也尝试过使用 JSON gem JSON.parse ,别无他法

【问题讨论】:

  • 听起来像个bug,试试:json_string = JSON.parse(your_string)
  • 啊!!!已经试过了

标签: ruby-on-rails json


【解决方案1】:

嗯,确实很有趣。似乎用 ascii 符号转义 / 是可行的(至少在我的 rails 版本中,即 3.2.1,所以很可能它不适用于您的版本)。我认为作为一种解决方法,如果它适用于您的版本,这应该没问题。 ActiveSupport::JSON.decode "{\"foo\":\"\57\57\"}"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-16
    • 2023-01-24
    • 2017-08-02
    相关资源
    最近更新 更多