Commit Graph

17 Commits

Author SHA1 Message Date
Jeremy Kemper
49824e8ad6 JSON.escape returns UTF-8 strings
[#2849 state:resolved]
2009-07-01 16:22:19 -07:00
Jeremy Kemper
f37a2ea84c uses Hash#except/slice 2009-07-01 16:01:20 -07:00
Joshua Peek
fbdf706fff Add basic JSON serializer to AMo 2009-06-17 21:27:54 -05:00
Jeremy Kemper
30a3b6b4fc Ruby 1.9: fix json encoding 2009-06-08 15:16:47 -07:00
Jeremy Kemper
00ee990443 JSON: split encoding and coercion 2009-06-08 13:21:30 -07:00
Jeremy Kemper
f58c322e7e Use __send__ for BasicObject friendliness 2009-04-26 20:05:17 -07:00
Jeremy Kemper
ee46ffedb8 Now that we have a separate internal rails_to_json, use a separate circular reference stack instead of sticking it in the options hash 2009-04-26 20:04:47 -07:00
Jeremy Kemper
8d64085138 Only Object to_json alias is needed. Prefer nil options. 2009-04-26 15:18:33 -07:00
Jeremy Kemper
da3a80dd4f Track object ids so the objects needn't respond to == 2009-04-26 15:04:02 -07:00
rick
3c4c6bd0df * Add pluggable JSON backends with support for the JSON gem. [rick]
Example: ActiveSupport::JSON.backend = "JSONGem"

  All internal Rails JSON encoding is now handled by ActiveSupport::JSON.encode().  Use of #to_json is not recommended, as it may clash with other libraries that overwrite it.  However, you can recover Rails specific functionality
  if you really want to use #to_json.

    gem 'json'
    ActiveSupport::JSON.backend = "JSONGem"

    class ActiveRecord::Base
      alias to_json rails_to_json
    end
2009-04-23 00:08:40 -07:00
Jeremy Kemper
6599dd907f Simpler and clearer to just explicitly require the JSON encoders 2008-11-26 01:08:37 -08:00
Jeremy Kemper
e9aa975cc9 Eliminate thread-local circular reference stack by passing it as an argument instead 2008-11-23 12:36:03 -08:00
Rick Olson
605196c448 Add config.active_support.escape_html_entities_in_json to allow disabling of html entity escaping. [rick]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@9238 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2008-04-08 03:45:26 +00:00
Jeremy Kemper
b1968708e1 Hash#to_json takes :only or :except options to specific or omit certain hash keys. Enumerable#to_json passes through its options to each element. Closes #9751.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7736 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-10-04 03:28:42 +00:00
David Heinemeier Hansson
7275d2749c Fixed JSON encoding to use quoted keys according to the JSON standard (closes #8762) [choonkat/chuyeow]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7697 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-09-30 20:57:50 +00:00
Jeremy Kemper
d2acf8b548 Silence some warnings.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@6772 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-05-18 21:16:43 +00:00
Sam Stephenson
3202fbabe6 Refactor ActiveSupport::JSON to be less obtuse. Add support for JSON decoding by way of Syck with ActiveSupport::JSON.decode(json_string). Prevent hash keys that are JavaScript reserved words from being unquoted during encoding.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@6443 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-03-18 07:05:58 +00:00