gpt4 book ai didi

ruby-on-rails - 如何反序列化 JSON 对象

转载 作者:行者123 更新时间:2023-12-04 14:47:09 24 4
gpt4 key购买 nike

我正在尝试通过以下方式使用 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` 是一个应用程序,它向我展示了这个请求的结果

根据 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","used":"35.0","available":1165.0}'
JSON.parse(res) # => {"total"=>"1200.0", "used"=>"35.0", "available"=>1165.0}

注意:如果您使用的是 Ruby 1.8.X,您可能需要使用 json 类。如果您在 Rails 应用程序中工作,Rails 需要它。

关于ruby-on-rails - 如何反序列化 JSON 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14546199/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com