Ruby:
JSONを活用する

方法:

Rubyはその標準ライブラリを通じて、JSONの解析や生成をシームレスに行う方法を提供しています。これらの操作のための主要モジュールはjsonで、任意のRubyアプリケーションに簡単に統合できます。

JSONの解析:

JSON文字列をRubyのハッシュに変換するには、JSON.parseメソッドを使用します。

require 'json'

json_string = '{"name": "John Doe", "age": 30, "city": "New York"}'
ruby_hash = JSON.parse(json_string)

puts ruby_hash
# 出力: {"name"=>"John Doe", "age"=>30, "city"=>"New York"}

JSONの生成:

逆に、RubyのハッシュをJSON文字列に変換する場合は、jsonライブラリが要求された後にRubyオブジェクトで利用可能なJSON.generateメソッドまたはto_jsonメソッドを使用します。

require 'json'

ruby_hash = { name: "Jane Doe", age: 25, city: "Los Angeles" }
json_string = ruby_hash.to_json

puts json_string
# 出力: {"name":"Jane Doe","age":25,"city":"Los Angeles"}

サードパーティのライブラリ:

Rubyの標準ライブラリが基本的なJSONの取り扱いをカバーしている一方で、多くのプロジェクトは機能拡張やパフォーマンス向上のためにサードパーティのライブラリに依存しています。人気の選択肢の一つがOj(Optimized JSON)です。

Ojを用いた解析:

require 'oj'

json_string = '{"name": "Alex", "age": 40, "city": "Chicago"}'
ruby_hash = Oj.load(json_string)

puts ruby_hash
# 出力: {"name"=>"Alex", "age"=>40, "city"=>"Chicago"}

Ojによる生成:

Ojは、RubyオブジェクトからJSONを迅速に生成する方法も提供しています:

require 'oj'

ruby_hash = { name: "Samantha", age: 35, city: "Miami" }
json_string = Oj.dump(ruby_hash)

puts json_string
# 出力: {"name":"Samantha","age":35,"city":"Miami"}

これらの例は、シンプルなデータ操作から複雑なAPI通信に至るまで、RubyでのJSONの扱いが直接的な性質を持ち、アクセスしやすいことを示しています。