1

重複の可能性:
rubyでJSON文字列を解析する

たくさんのjsonをrubyの変数に入れて、JSONgemと次のコードを使用して出力することができました。

require 'open-uri'
require 'json'

result = JSON.parse(open("https://api.pinboard.in/v1/posts/get?auth_token=username:token&tag=fashion&meta=yes&format=json").read)
puts result

それが返すものはこれです:

{
  "date"=>"2012-09-24T03:35:38Z",
  "user"=>"username",
  "posts"=>[{
      "href"=>"http://example.com/example.jpg",
      "description"=>"this is the description",
      "extended"=>"A full, longer description.",
      "meta"=>"d6f967c9adfbe1eb3763fddbcd993d1b",
      "hash"=>"a46e0e7202d9d56c516a472d8be70d9e",
      "time"=>"2012-09-24T03:35:38Z",
      "shared"=>"yes",
      "toread"=>"no",
      "tags"=>"fashion"
    }
]}

(わかりやすくするために、ここでの行間隔は私のものです)

私の問題は、これらのキーと値にアクセスする方法がわからないことです。私はグーグルで検索しましたが、私はルビーに本当に慣れていません、そして私は自分がをすべきかを正確に理解するのに多くの問題を抱えています、それをするためにコードを気にしないでください。ヘルプ?

4

2 に答える 2

2

result["date"]-jsonの日付キーにアクセスします。

一般result[<key>]に、キーに格納されている値にアクセスします。

存在しないキーにアクセスしようとすると、結果としてnilになります。

編集:キーと値のペアをトラバースするには、次のことができます。

result.each do |key, value|
   puts "result[#{key}] = #{value}"
end
于 2012-09-24T15:01:13.553 に答える
0

次のようなことをします:

p result["date"]
p result["posts"].size

rubyArrayクラスとHashクラスのドキュメントを調べてください。

于 2012-09-24T15:00:24.723 に答える