対象: Active SupportによるJSONとRubyオブジェクトの相互変換AJAXではおなじみのJSONとRubyオブジェクトの相互変換を行う方法の1つにActive Supportを使うという手がある。 Active Supportではなく、JSONライブラリを利用する方法もある。これについては以下のリンクを参照していただきたい。 JSONライブラリによるJSONとRubyオブジェクトの相互変換JSONからRubyオブジェクトに変換するのがJSON.decodeメソッド、RubyオブジェクトからJSONに変換するのがJSON.encodeメソッドである。 require "rubygems" require "active_support" # JSONからRubyオブジェクトに変換 ruby_array = ActiveSupport::JSON.decode("[1, 2, 3]") ruby_hash = ActiveSupport::JSON.decode('{"CPU": "Core i7", "Memory": 8, "HDD": 500}') p ruby_array p ruby_hash # RubyオブジェクトからJSONに変換 json_array = ActiveSupport::JSON.encode(ruby_array) json_hash = ActiveSupport::JSON.encode(ruby_hash) p json_array p json_hash このコードの実行結果は以下である。 [1, 2, 3] {"CPU"=>"Core i7", "Memory"=>8, "HDD"=>500} "[1,2,3]" "{\"CPU\":\"Core i7\",\"Memory\":8,\"HDD\":500}" また、ArrayやHashに対してto_jsonメソッドを使用することもできる。 # to_jsonメソッドでJSONに変換 json_array = ruby_array.to_json json_hash = ruby_hash.to_json (2012/03/24)
Copyright(C) 2004-2014 モバイル開発系(K) All rights reserved.
[Home]
|