Ruby で JSON 文字列を解析する
Nurudeen Ibrahim
2022年4月18日
JSON(JavaScript Object Notation)は、データ交換の一般的な形式であり、主に Web アプリケーション間でデータを送受信するために使用されます。このチュートリアルでは、JSON 文字列を解析する方法を見ていきます。
JSON 値の一般的な例は次のとおりです。
- 角かっこで囲まれた値のリスト。例:
["Orange", "Apple", [1, 2]]
- 中括弧で囲まれたキー/ペアのリスト。例:
{ "name": "John", "sex": "male", "grades": [60, 70, 80, 90] }
これらの JSON 値は、たとえば外部 API からの応答として文字列形式で提供されることがあり、Ruby が機能するものに変換する必要が常にあります。それを可能にする JSON
モジュールの解析
メソッドがあります。
コード例:
require 'json'
json_string = '["Orange", "Apple", [1, 2]]'
another_json_string = '{ "name": "John", "sex": "male", "grades": [60, 70, 80, 90] }'
puts JSON.parse(json_string)
puts JSON.parse(another_json_string)
出力:
["Orange", "Apple", [1, 2]]
{"name"=>"John", "sex"=>"male", "grades"=>[60, 70, 80, 90]}
JSON モジュールをコードで使用できるようにするには、最初にファイルを要求する必要があります。これが、コードの最初の行で行われます。
上記の例に示すように、JSON.parse
は json_string
を Ruby 配列に変換し、another_json_string
を Ruby ハッシュに変換します。
文字列形式ではない JSON 値がある場合は、to_json
を呼び出して最初に JSON 文字列に変換し、次に JSON.parse
を使用して配列またはハッシュに変換できます。
コード例:
require 'json'
json_one = ["Orange", "Apple", [1, 2]]
json_two = { "name": "John", "sex": "male", "grades": [60, 70, 80, 90] }
puts JSON.parse(json_one.to_json)
puts JSON.parse(json_two.to_json)
出力:
["Orange", "Apple", [1, 2]]
{"name"=>"John", "sex"=>"male", "grades"=>[60, 70, 80, 90]}