# File activesupport/lib/active_support/json/encoding.rb, line 83
def encode(value)
unless options.empty?
value = value.as_json(options.dup.freeze)
end
json = stringify(jsonify(value))
return json unless @options.fetch(:escape, true)
json.force_encoding(::Encoding::BINARY)
if @options.fetch(:escape_html_entities, Encoding.escape_html_entities_in_json)
if Encoding.escape_js_separators_in_json
json.gsub!(FULL_ESCAPE_REGEX, ESCAPED_CHARS)
else
json.gsub!(HTML_ENTITIES_REGEX, ESCAPED_CHARS)
end
elsif Encoding.escape_js_separators_in_json
json.gsub!(JS_SEPARATORS_REGEX, ESCAPED_CHARS)
end
json.force_encoding(::Encoding::UTF_8)
end