2

ループ内のjsonデータの解析に問題があります。Iamはclojureの初心者であり、jsonデータをループするためのヒントが必要です。

データは次のようになります。

{"photoset" {"primary" "8455893107", "total" "2", "pages" 1, "perpage" 500, "page" 1, 
"per_page" 500, "photo" 

[{"id" "8455893107", "secret" "1a3236df06", "server" "8087", 
 "farm" 9, "title" "IMG_0137", "isprimary" "1"} 

{"id" "8469482476", "secret" "4c1bf59214",
 "server" "8235", "farm" 9, "title" "HippieBus", "isprimary" "0"}]

, "owner" 
 "93029076@N07", "id" "72157632724688181", "ownername" "clojureB5"}, "stat" "ok"}

私がやりたいのは、2つの写真をループして、http://www.flickr.com/farm/idのようなIDとファーム値を使用して新しいURLを作成することです。

私は次のような1つの値を取得できることを知っています:

(-> (get-in (cheshire.core/parse-string (:body picList)) ["photoset" "photo"]) first (get "id"))

しかし、私は今それをループすることができますか?

4

1 に答える 1

4

単に使用できますmap

(->> (get-in data ["photoset" "photo"])
     (map #(str "http://www.flickr.com/" (get % "farm") "/" (get % "id"))))

次のリストが生成されます。

(" http://www.flickr.com/9/8455893107 " " http://www.flickr.com/9/8469482476 ")

于 2013-02-13T14:38:49.860 に答える