[解決済み] RubyのハッシュオブジェクトをJSONに変換する方法は?
2022-03-14 05:03:53
質問
RubyのハッシュオブジェクトをJSONに変換する方法は?以下の例を試しているのですが、うまくいきませんか?
RubyDocを見ていたら、明らかに
Hash
オブジェクトには
to_json
メソッドを使用します。しかし、私はブログで、Railsが
active_record.to_json
をサポートし、さらに
hash#to_json
. 私は理解することができます
ActiveRecord
はRailsのオブジェクトですが
Hash
はRailsのネイティブではなく、純粋なRubyのオブジェクトです。ですから、Railsでは
hash.to_json
が、ピュアRubyではダメなのか?
car = {:make => "bmw", :year => "2003"}
car.to_json
解決方法は?
Rubyには、既存のクラスに独自のメソッドを追加して拡張することができる機能が数多くあります。これは、クラス・リオープン(class reopening)またはモンキー・パッチ(monkey-patching)と呼ばれています(後者の意味は以下の通り)。 はさまざまです。 とはいえ)。
では、こちらをご覧ください。
car = {:make => "bmw", :year => "2003"}
# => {:make=>"bmw", :year=>"2003"}
car.to_json
# NoMethodError: undefined method `to_json' for {:make=>"bmw", :year=>"2003"}:Hash
# from (irb):11
# from /usr/bin/irb:12:in `<main>'
require 'json'
# => true
car.to_json
# => "{"make":"bmw","year":"2003"}"
ご覧のように
json
は、魔法のようにメソッド
to_json
を私たちの
Hash
.
関連
-
[解決済み] Rails のインストールに失敗する: activesupport には Ruby のバージョン >= 2.2.2 が必要です。
-
[解決済み] 正しいJSONコンテンツタイプは何ですか?
-
[解決済み] JSONでコメントを使用することはできますか?
-
[解決済み] なぜGoogleはJSONレスポンスにwhile(1);を前置するのでしょうか?
-
[解決済み] cURLでJSONデータをPOSTするにはどうすればよいですか?
-
[解決済み] JavaScriptでJSONをきれいに印刷する
-
[解決済み] Rubyのswitch文の書き方
-
[解決済み] jQueryでフォームデータをJavaScriptオブジェクトに変換する
-
[解決済み] JSオブジェクトをJSON文字列に変換する
-
[解決済み] JSONをRubyのハッシュに変換する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Bundler: コマンドが見つからない
-
[解決済み】取得中。「プロジェクトのクローンとマイグレート後に、「マイグレーションは保留中です。この問題を解決するには 'bin/rake db:migrate RAILS_ENV=development' を実行してください。
-
[解決済み】警告:定数 ::Fixnum は非推奨 新しいモデルを生成するとき
-
[解決済み】コントローラでJSONをレンダリングする
-
[解決済み] gemのインストールができない - gemネイティブ拡張の構築に失敗 - そのようなファイルをロードできない -- mkmf (LoadError)
-
[解決済み] rspec 3 - クラスメソッドをスタブ化する
-
[解決済み] 属性を割り当てる場合、引数としてハッシュを渡す必要がある
-
[解決済み] Ruby on rails アプリで ES6 (ES2015) を使用するにはどうすればよいですか?
-
[解決済み] Railsでグループとカウント
-
[解決済み] rails/rubyでgroup_byを使用する。