ruby-on-rails - Rails 4 JSON::ParserError (757: 'null' 处的意外标记):

标签 ruby-on-rails ruby-on-rails-3 ruby-on-rails-4

我的 Controller 中有以下方法

@content = Post.where(sub_category_id: id).select('content')
unless @content.nil?
      @content.each do |content|
        form_array = JSON.parse(content.content)
        array_test << form_array.values
      end

我的内容列的值为 null,因此我收到的错误为

JSON::ParserError (757: unexpected token at 'null'):

但是为什么除非循环不起作用。当列具有 null 值时执行循环如何防止它

编辑-1

假设我的数据库表中有两行

其中一个是{"Style":"coupe","Year":"2012","Color":"green"} #这很好用

第二个是null #但是失败了

最佳答案

你的@content是一个数组,并且可以包含超过1个元素,所以,这意味着它可以包含单个元素的元素也可以值为null,但是数组里面有一个元素,所以在您的情况下,您的条件将失败,它应该是:

@content.each do |content|

unless content.nil?

        form_array = JSON.parse(content.content) if content.content.present?
        array_test << form_array.values
end

end

关于ruby-on-rails - Rails 4 JSON::ParserError (757: 'null' 处的意外标记):,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20016516/

相关文章:

ruby-on-rails - rails formtastic 嵌套形式警告 : Can't mass-assign protected attributes

ruby-on-rails - 为 false :FalseClass 更新资源未定义方法 `valid?'

ruby-on-rails - 如何在两个模型之间建立两个 has_many/belongs_to 关系?

ruby-on-rails - 如何在 Rails 6 中请求自定义 JS 文件

ruby-on-rails - capybara 测试中的 Sendgrid 错误

ruby-on-rails - Rails 3 在迁移问题中添加外键

ruby-on-rails - rails : Keeping all the ActiveRecord "validates" lines in a separate file?

ruby-on-rails - Rails 验证错误消息未显示并给出未定义的方法错误

ruby-on-rails - pg_search 使用 associated_against 给出错误 "column [model_name].[associated_column_name] does not exist"

ruby-on-rails - Mysql 等同于 rails 查询