gpt4 book ai didi

ruby - 解析 HTTParty 响应

转载 作者:数据小太阳 更新时间:2023-10-29 06:35:02 28 4
gpt4 key购买 nike

我正在使用 HTTParty 提取 Facebook 用户的图书列表,但我在解析响应时遇到问题:

Facebook 以这种方式返回数据:

{
"data": [
{
"name": "Title",
"category": "Book",
"id": "21192118877902",
"created_time": "2011-11-11T20:50:47+0000"
},
{
"name": "Title 2",
"category": "Book",
"id": "1886126860176",
"created_time": "2011-11-05T02:35:56+0000"
},

然后 HTTParty 将其解析为 ruby​​ 对象。我试过这样的事情(其中 ret 是响应)ret.parsed_response 并返回数据数组,但实际上访问里面的项目返回一个方法未找到错误.

这是 HTTParty 实际返回的示例:

#<HTTParty::Response:0x7fd0d378c188 @parsed_response={"data"=>[{"name"=>"Title", "category"=>"Book", "id"=>"21192111877902", "created_time"=>"2011-11-11T20:50:47+0000"}, {"name"=>"Title 2", "category"=>"Book", "id"=>"1886126860176", "created_time"=>"2011-11-05T02:35:56+0000"}, {"name"=>"Thought Patterns", "category"=>"Book", "id"=>"109129539157186", "created_time"=>"2011-10-27T00:00:16+0000"}, 

最佳答案

您是否有任何代码会引发错误? HTTParty 响应中的 parsed_response 变量是一个散列,而不是数组。它包含一个键,"data"(字符串,不是符号)。散列中 “data” 键的值是一个散列数组,因此您可以这样迭代:

data = ret.parsed_response["data"]
data.each do |item|
puts item["name"]
puts item["category"]
puts item["id"]
# etc
end

关于ruby - 解析 HTTParty 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8171881/

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