method
encode
v8.1.1 -
Show latest stable
- Class:
ActiveSupport::JSON
encode(value, options = nil)public
Dumps objects in JSON (JavaScript Object Notation). See http://www.json.org for more info.
ActiveSupport::JSON.encode({ team: 'rails', players: '36' }) # => "{\"team\":\"rails\",\"players\":\"36\"}"
By default, it generates JSON that is safe to include in JavaScript, as it escapes U+2028 (Line Separator) and U+2029 (Paragraph Separator):
ActiveSupport::JSON.encode({ key: "\u2028" }) # => "{\"key\":\"\\u2028\"}"
By default, it also generates JSON that is safe to include in HTML, as it escapes <, >, and &:
ActiveSupport::JSON.encode({ key: "<>&" }) # => "{\"key\":\"\\u003c\\u003e\\u0026\"}"
This behavior can be changed with the escape_html_entities option, or the global escape_html_entities_in_json configuration option.
ActiveSupport::JSON.encode({ key: "<>&" }, escape_html_entities: false) # => "{\"key\":\"<>&\"}"
For performance reasons, you can set the escape option to false, which will skip all escaping:
ActiveSupport::JSON.encode({ key: "\u2028<>&" }, escape: false) # => "{\"key\":\"\u2028<>&\"}"