0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[Rails] JSON キャメルケースとスネークケースの変換方法

Posted at

概要

Nextアプリケーションからリクエストを受け、JSONを返す Rails APIを作成しています。

リクエスト、レスポンスデータのキャメルケース, スネークケース間の変換処理をテンプレ化しておきたく、本記事の執筆に至りました。

キャメルケース → スネークケース

Nextリクエスト時にキャメルケースで構成されたJSONをスネークケースに変換します。
deep_transform_keys + underscore を利用します。

params = {
  'hogeKey' => 'hoge',
  'fooKey' => 'foo'
}

transformed_params = params.deep_transform_keys(&:underscore)
p transformed_params
# {"hoge_key"=>"hoge", "foo_key"=>"foo"}

スネークケース → キャメルケース

params = {
  'hoge_key' => 'hoge',
  'foo_key' => 'foo'
}

camelized_hash = params.deep_transform_keys { _1.camelize(:lower) }
p camelized_hash

まとめ

以上です。
ほぼ自分向けの記事ですが、どなたかの参考になったのであれば幸いです🙏

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?