0

私はredisとrubyが初めてで、次のコードを使用しています

response = HTTParty.get('posts.json')
json = JSON(response.body)

json.each do |item|
    puts item
    puts json[item]
    puts item['content']
    redis.hset 'latest_posts', item, item['title']
end

puts json[item] 

以下を返しますerror no implicit conversion of Hash into Integer

各ループ内で、id、title、コンテンツなどのキーを puts アイテム (オブジェクト全体を返すようになりました) と json[item] データをキーに出力したいのですが、何か助けはありますか? たとえば、試してみると

%w{id title content}.each do |key|
        puts key
        puts json[key]
end

またno implicit conversion of String into Integer

4

1 に答える 1

0

コードから、JSON にハッシュの配列が必要なようです。

ここには 2 つの問題があります。

1.

puts json[item]
puts item['content']

anitemはハッシュです。json[item]私には意味がありません。

2.

redis.hset 'latest_posts', item, item['title']

itemRedis ハッシュのキーを'latest_posts'valueに設定することになっていますitem['title']。しかしitem、ハッシュであり、Redis はファイル名として文字列を期待していると思います。

ところで、そうではありませんJSON.parse response.bodyか?

于 2013-07-19T01:21:24.917 に答える