2017-02-01 5 views
-1

APIからPOSTリクエストを受けました。私はコンテンツタイプをチェックしました、それはx-www-form-urlencodedですが、ボディリクエストにはJSONも含まれています。 JSONをハッシュ形式で解析するにはどうすればよいですか?レールでAPIからPOSTリクエストを取得するには

コンソールの要求パラメータ:Screenshot || Parameters: {"vpbx_api_key"=>"etxojfklr6nue6tl627pn5sdi0koov7t", "sign"=>"ad0c49034c8d83a7d7f1b433afc2ed5a9aa08d933dba3724062aed0c3d1a79bb", "json"=>"{\"entry_id\":\"MjYyNjQ2NzM1Njo0Mg==\",\"call_id\":\"MToxMDAxNDAzOTo0Mjo4Mjc2NzEzMzk=\",\"timestamp\":1485939839,\"seq\":2,\"call_state\":\"Disconnected\",\"location\":\"abonent\",\"from\":{\"number\":\"79268220697\",\"taken_from_call_id\":\"MToxMDAxNDAzOTo0Mjo4Mjc2NzEwOTA6MQ==\"},\"to\":{\"extension\":\"2\",\"number\":\"79154612023\",\"line_number\":\"74953749768\"},\"disconnect_reason\":1100}"}

+0

[docs](http://ruby-doc.org/stdlib-2.4.0/libdoc/json/rdoc/JSON.html)をチェックしましたか? –

答えて

1

このようにエンコードされたフォームを保持したい場合は、paramsコレクションにパラメータを設定します。それはあなたがJSONのように何かをしていることを解析することができることを意味:

def my_method_to_process_the_post 
    parsed = JSON.parse params[:json] 
end 

「JSONは」あなたがペイロードに受信されているJSONためのキーです。

JSON解析の歴史的進化については、thisスレッドを確認してください。

関連する問題