2017-02-01 2 views
-1

API에서 POST 요청을 받았습니다. 나는 content-type을 체크했다. x-www-form-urlencoded이지만 body request는 또한 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 컬렉션에 매개 변수가 있어야합니다.

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

'JSON'당신이 페이로드에 받고있는 JSON의 핵심이다 : 그것은 당신이 JSON이 같은 일을하고 있다고 해석 할 수 있음을 의미합니다.

JSON 구문 분석의 역사적인 발전을 위해서는 this 스레드를 확인해야 할 수 있습니다.