ruby-on-rails – 如何反序列化JSON对象
发布时间:2020-12-17 03:04:40 所属栏目:百科 来源:网络整理
导读:我试图通过以下方式使用get请求: req = Net::HTTP::Get.new("/api/v1/users/external/1/features/DOWNLOAD7ab8d82b40/alloc?paymentPlanId=PRO_SUBSCRD725FCCCC6"); req.add_field('ISV_API_KEY','548f3d4b34ffdb2f294a870a9728af6940a75b66ba944d8ab6eef5a
我试图通过以下方式使用get请求:
req = Net::HTTP::Get.new("/api/v1/users/external/1/features/DOWNLOAD7ab8d82b40/alloc?paymentPlanId=PRO_SUBSCRD725FCCCC6"); req.add_field('ISV_API_KEY','548f3d4b34ffdb2f294a870a9728af6940a75b66ba944d8ab6eef5a7543ca3db'); req.add_field('ISV_API_SECRET','69dafa8923f2b0da8153e6bcca3841de0fa88f1a031a5eb1946e54eb982cef48'); res = Net::HTTP.start("localhost",3000) {|http| res = http.request(req) } ‘postman`是一个向我显示此请求结果的应用程序 根据邮递员的说法,这个要求让我回报: { "total":"1200.0","used":"35.0","available":1165.0 } 如何反序列化这个Json对象?假设我想要“used”参数. 我试过了: json_string = req2.to_json puts json_string 但我得到了: {"accept":["*/*"],"user-agent":["Ruby"],"isv_api_key":["548f3d4b34ffdb2f294a870a9728af6940a75b66ba944d8ab6eef5a7543ca3db"],"isv_api_secret":["69dafa8923f2b0da8153e6bcca3841de0fa88f1a031a5eb1946e54eb982cef48"]} 我也尝试过: puts JSON.parse(res) 但我得到了: can't convert Net::HTTPOK into String 解决方法
使用Ruby的JSON库.
res = '{"total":"1200.0","available":1165.0}' JSON.parse(res) # => {"total"=>"1200.0","used"=>"35.0","available"=>1165.0} 注意:如果您使用的是Ruby 1.8.X,则可能需要使用json类.如果您在rails应用程序中工作,Rails需要它. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |