【Rails入門】JSON.parseでパラメーターをHashに変換する方法オオイシ2018/9/292018/9/30こんにちは!システムエンジニアのオオイシです。まとめJSON.parseとはJSON.parseとは、JSON(ジェイソン)形式の文字列をRubyのHash(ハッシュ)形式に変換するためのメソッドです。JSON文字列のネストの深さ。変換したHashのキーをシンボルにする場合はtrueこのJSON.parseは、Rails用のメソッドではなくRubyのメソッドなのでご注意ください。次項では、JSON.parseの使いかたを見ていきましょう。RubyのJSONについて知りたい場合は、こちらに詳しい解説があるので、ぜひ参考にしてください。2019年8月2日JSON.parseの使いかた基本JSON.parseの使いかたはとっても簡単です。詳しく解説していきます!JSON.parseのサンプルJSON形式の文字列をHashに変換するサンプルプログラムを紹介します。{"json"=>"12345"}このようにJSONからHashに変換できました。オプションを指定しない場合はハッシュのキーは文字列です。JSON.parseのサンプル(シンボルキー)変換したハッシュのシンボルに変換する例もみてみましょう。{:json=>"12345"}このように、Hashのキーがシンボルであることが確認できました。APIと呼ばれるサービスが最近ではとても増えてきています。APIに対応するために、JSONのリクエストパラメータは、自動的にHash形式に変換してパラメータ(params)にセットしてくれます。自動変換するのはコンテンツタイプが'application/json'の場合のみなので注意してください。このような場合には、JSON.parseを使ってHashに変換します。サンプルで紹介していきます。サンプルコントローラーの作成はじめに、サンプル用のJsonPコントローラーを作成します。parse次に、parseメソッドにコーディングしていきます。RailsでJSONを自動でHashに変換JSONをHashに自動変換してパラメーター(params)にセットするサンプルコードを紹介します。パラメーター(param)から取り出すには、params[:コントローラ名]です。endendリクエストを送信するために今回は、curlコマンドを使います。curl(カール)とはWebブラウザのコンソール版のようなツールです。HTTPヘッダーのコンテンツタイプ(Content-Type)が"application/json"にして、{"key":"val","key2":"val2"}を送信してみましょう。"key2"=>"val2"}このように、JSON形式の文字列がHashに変換されたことが確認できました。以下は、curl(カール)のインストール方法です。curl(カール)はWebプログラミングでよく使うので、インストールしておいたほうがよいでしょう。curlWindowsの場合はこちらからダウンロードしてインストールすることができます。railsのパラメーター(params)については、こちらで詳しく解説してあります。2019年7月31日JSON.parseを使ってHash(シンボルキー)に変換JSON.parseを使ってリクエストしたJSONをHashに変換する方法を紹介します。JSONデータは{"key":"val","key2":"val2"}です。endend今回は、コンテンツタイプを"text/javascript"にして、JSONを送信しています。":key2"=>"val2"}このように、JSONをシンボルキーHashに変換することができました。Rubyのシンボルについては、こちらで詳しく解説してあります。2017年12月20日JavaScriptでJSONをRailsに送信ここではさらに応用してJavaScriptでJSONを作成して、Railsに送信する方法をご紹介します。formの値をJSON変換し、RailsでHashに変換した結果をブラウザに表示します。レスポンスを表示する-->json_parse.jsファイルを新規に作成し、フォームデータをajaxで送信するプログラムです。}})今回は、POSTでJSONを送信するためにrailsのroutes.rbを変更します。入力フォーム用のルートも追加します。s」を実行して実行してみましょう。入力フォームに任意の値を入力して[送信]ボタンをクリックしてください。このように、JavaScriptからJSONを送信してHashに変換した結果がブラウザに帰ってきました。ajaxについては、こちらで詳しく解説しているので、ぜひ参考にしてください。2019年3月28日まとめいかかでしたか?今回は、RailsでJSONをparseする場合を紹介しました。APIをプログラムするためにJSONを受け取ることを前提に作られているので、とても簡単に使うことができるので、ぜひ使ってみてください。RailsでJSONをparseする方法を忘れてしまったらこの記事を確認してくださいね!TweetPocket無料でSEからWebエンジニアへ転職しませんか?侍エンジニア塾では、完全未経験の方から現在SEだけどプログラミングはやっていないという経験者まで、幅広い方々の人生を好転させるプログラミング指導を行ってきました。SEの方とお話していくなかで、システムエンジニアという職業だけどコードが書けない事務作業が多くスキルがないため将来が不安スクールに通うと完全未経験者と同じスタートになるからレベルが合わないという、すでに知識があるSEならではのお悩みがあることに気づきました。弊社では、マンツーマンでレッスンを行いますので、現在お持ちの知識レベルからカリキュラムを作成いたします。こちらの転職コースは無料で受講を始められて転職成功でそのまま卒業できるというとてもお得なコースとなっています。知識のあるSEといっても転職は年齢が若いほど受かりやすいため、まずは無料体験レッスンで今の現状や理想の働き方について一緒に考えていきましょう。プログラミング、システムアーキテクトからマネジメントに到るまでなんでも食べます。