gpt4 book ai didi

ruby-on-rails - 如何使用符号通过 HTTParty 访问 JSON 响应?

转载 作者:数据小太阳 更新时间:2023-10-29 07:49:17 27 4
gpt4 key购买 nike

我正在使用 HTTPparty gem 在我的 Rails 应用程序中发送请求。这是一个例子:

order = HTTParty.get("https://sandbox.moip.com.br/v2/payments/#{o.payment_id}",
headers: {"Authorization" => "Basic #{encode_auth_token}"})

order_status = JSON.parse(order.body)

变量 order 接收一个 json 作为响应。我已经设法检索到我需要的信息,但我想使用符号而不是字符串来访问 json 数据。

有什么方法可以使用符号访问我的 json 数据吗?例如:

order_status[:link]

最佳答案

剧透警告:最佳选择是#3


选项 1:您可以调用 .with_indifferent_access在哈希上,以便能够使用 'link':link:

访问值
{'a' => 1}[:a]
# => nil
{'a' => 1}.with_indifferent_access[:a]
# => 1
{'a' => 1}.with_indifferent_access['a']
# => 1

选项 2: 调用 .symbolize_keys (或者 .deep_symbolize_keys 如果你也想对嵌套键进行符号化)在散列上将所有键转换为符号:

hash = { 'name' => 'Rob', 'address' => { 'postal_code' => '92210' } }
hash.symbolize_keys
# => {:name=>"Rob", :address=>{'postal_code'=>'92210'}}
hash.deep_symbolize_keys
# => {:name=>"Rob", :address=>{:postal_code=>'92210'}}

选项 3:将 symbolize_names 选项设置为 true

解析 JSON
JSON.parse(string, symbolize_names: true)

关于ruby-on-rails - 如何使用符号通过 HTTParty 访问 JSON 响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45743518/

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