"PC087849", "COUNT"=>"72421"} {"PC"-6ren">
gpt4 book ai didi

ruby - JSON 哈希键操作

转载 作者:太空宇宙 更新时间:2023-11-03 17:35:23 25 4
gpt4 key购买 nike

我解析响应:

response = JSON.parse(response.body)
p response

输出

{"PC"=>"PC087849", "COUNT"=>"72421"}
{"PC"=>"PC087302", "COUNT"=>"71546"}
{"PC"=>"PC087255", "COUNT"=>"68420"}

然后重新映射键:

a = response.map{|s| {label: s[0], value: s[1].to_i} }
puts a

输出

{:label=>nil, :value=>0}
{:label=>nil, :value=>0}
{:label=>nil, :value=>0}

为什么Key的内容是nil和0?

谢谢。

最佳答案

response 的元素是散列,而不是数组。在散列中寻址项目时使用整数是不正确的(除非键是实际整数)

response = [{"PC"=>"PC087849", "COUNT"=>"72421"},
{"PC"=>"PC087302", "COUNT"=>"71546"},
{"PC"=>"PC087255", "COUNT"=>"68420"}]

a = response.map{|s| {label: s['PC'], value: s['COUNT'].to_i} }
puts a
# >> {:label=>"PC087849", :value=>72421}
# >> {:label=>"PC087302", :value=>71546}
# >> {:label=>"PC087255", :value=>68420}

s[0] 会给你 nil 因为那个键没有元素。 s[1] 也会给你 nil,但你随后调用 #to_i。这将为您提供 0

nil.to_i # => 0

关于ruby - JSON 哈希键操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18567470/

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