Skip to content

Issue encoding classes that define a to_json method #747

@jack-rabe

Description

@jack-rabe

Oj ignores to_json methods defined on a class and encodes as it normally would without any to_json method being defined.

require 'json'
require 'oj'

class Klass
  def self.to_json(*)
    'correct_result'
  end
end

puts JSON.dump(Klass)
puts Klass.to_json
puts Oj.dump(Klass)
puts Oj::Rails.encode(Klass)

This will output:
correct_result
correct_result
{"^c":"Klass"}
"Klass"

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions