gpt4 book ai didi

ruby - JSON 解析器的行为不同

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

我正在尝试解析以下名为结果的字符串:

{
"status":0,
"id":"faxxxxx-1",
"hypotheses":[
{"utterance":"skateboard","confidence":0.90466744},
{"utterance":"skate board"},
{"utterance":"skateboarding"},
{"utterance":"skateboards"},
{"utterance":"skate bored"}
]
}

在 Ruby 1.8 中使用 obj = JSON.parse(result) 和 json gem。

有问题的命令是:

puts "#{obj['hypotheses'][0]}"

我的旧工作站(硬盘坏了)给了我:

{"utterance" => "skateboard", "confidence" => 0.90466744}

我当前的工作站给我:

confidence0.90466744utteranceskateboard

旧的工作站不是我设置的,所以我不知道安装了什么样的包,而现在的是。

为什么完全相同的脚本的输出会有所不同?我怎样才能使当前的看起来像旧的?

顺便说一句,我对这个完全陌生。

最佳答案

在 Ruby 1.8 中,Hash#to_s 只是将所有元素无空格地连接在一起,相当于 to_a.flatten.join('')

在 Ruby 1.9 中,Hash#to_sinspect 的别名,可生成格式良好的输出。

为了在两种情况下得到相同的东西:

puts obj['hypotheses'][0].inspect

同样的事情也适用于数组。

关于ruby - JSON 解析器的行为不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16923923/

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