JSONデータが1つしか取得できません
解決済
回答 1
投稿
- 評価
- クリップ 0
- VIEW 794
JSONの緯度(lat)経度(lng)データをDictionaryの中に可能な限り入れたいのですが、
下記コードでは1つしか取得できません。
JSON
{
"results" : {
"results_available" : 28391,
"api_version" : "1.26",
"results_start" : 1,
"shop" : [
{
"lng" : "139.6956243720",
"shop_detail_memo" : "歓迎会や送別会のご予約承り中です!ご予算などのご希望もおのご希望もお\346気軽にご相談くだのご希望もお\346気軽にご相談くだ\343さいませ。",
"address" : "東京都渋谷区宇田川町41-23 第2大久保ビル2F ",
"small_area" : {
"name" : "宇田川町",
"code" : "XA9C"
},
"name_kana" : "かおりやしぶやてん",
"access" : "JR 渋谷駅 徒歩5分\/京王井の井の\351井の\351\351\240頭線 渋谷駅 井の\351\351\240頭線 渋谷駅 \345徒歩4分\/東井の\351\351\240頭線 渋谷駅 \345徒歩4分\/東\346急東横線 渋谷駅 徒歩6分\/地歩6分\/地\344下鉄 歩6分\/地\344下鉄 \346渋谷駅 徒歩4分 ",
"free_food" : "なし",
"child" : "お子様連れOK :お子様連れの団体様様連れの団体様\343\202も様連れの団体様\343\202も\343もちろ様連れの団体様\343\202も\343もちろ\343\202ん大歓迎致します!また、早い時間のご来店がオススメです!",
"wifi" : "あり",
"band" : "不可",
"non_smoking" : "禁煙席なし :お煙草など苦手なお客様はお席等、お気軽に店舗お席等、お気軽に店舗\343スタッフへお問合せくださいませ。",
"capacity" : "56",
"lat" : "35.6624949294",
"sommelier" : "いない",
"barrier_free" : "なし",
"name" : "香り屋 渋谷店",
"tatami" : "なし",
"party_capacity" : "90",
"middle_area" : {
"name" : "渋谷",
"code" : "Y030"
},
"service_area" : {
"name" : "東京",
"code" : "SA11"
},
"card" : "利用可",
"midnight" : "営業している",
"station_name" : "渋谷",
"free_drink" : "あり",
"lunch" : "なし",
"urls" : {
"qr" : "http:\/\/webservice.recruit.co.jp\/common\/qr?url=http%3A%2F%2Fhpr.jp%2FstrJ000012402%2F%3Fuid%3DNULLGWDOCOMO%26vos%3Dhpp337",
"mobile" : "http:\/\/hpr.jp\/strJ000012402\/?uid=NULLGWDOCOMO&vos=hpp336",
"pc" : "https:\/\/www.hotpepper.jp\/strJ000012402\/?vos=nhppalsa000016"
},
"large_area" : {
"name" : "東京",
"code" : "Z011"
},
"large_service_area" : {
"name" : "関東",
"code" : "SS10"
},
"pet" : "不可",
"budget_memo" : "",
"horigotatsu" : "なし",
"sub_food" : {
"name" : "和風創作料理",
"code" : "R021"
},
"wedding" : "結婚式2次会・誕生日や記念日、各種パーティの演出もお手伝いさせていただきます!",
"ktai_coupon" : "0",
"equipment" : "あり",
"other_memo" : "注)ご不明点などございましたらお気軽にお店までお問お店までお問\345\220合せご相談くださいませ!",
"budget" : {
"average" : "2000円(通常平均) 3000円(宴会平均)",
"name" : "3001~4000円",
"code" : "B003"
},
"sub_genre" : {
"name" : "ダイニングバー",
"code" : "G002"
},
"course" : "あり",
"private_room" : "あり :カーテン付き個室あり。"
},
{
"mobile_access" : "JR新宿駅東口徒歩2分★駅から3分の好立地!",
"catch" : "もつ鍋&しゃぶしゃぶ食放 駅3分★全席が扉付き個室",
"id" : "J001110907",
"tv" : "なし",
"parking" : "あり :お近くにパーキングあります♪ ≪新宿 東口 完全個室居酒屋 食べ放題 もつ鍋&しゃぶしゃぶ食放 駅3分★全席が扉付き個室",
"id" : "J001110907",
"tv" : "なし",
"parking" : "あり :お近くにパーキングあります♪ ≪新宿 東口 完全個室居酒屋 食べ放題 \351\243飲み放題 女子会 誕生会◎≫",
"karaoke" : "なし",
"photo" : {
"mobile" : {
"l" : "https:\/\/imgfp.hotp.jp\/IMGH\/06\/26\/P025460626\/P025460626_168.jpg",
"s" : "https:\/\/imgfp.hotp.jp\/IMGH\/06\/26\/P025460626\/P025460626_100.jpg"
},
"pc" : {
"l" : "https:\/\/imgfp.hotp.jp\/IMGH\/06\/26\/P025460626\/P025460626_238.jpg",
"m" : "https:\/\/imgfp.hotp.jp\/IMGH\/06\/26\/P025460626\/P025460626_168.jpg",
"s" : "https:\/\/imgfp.hotp.jp\/IMGH\/06\/26\/P025460626\/P025460626_58_s.jpg"
}
},
"food" : {
"name" : "しゃぶしゃぶ",
"code" : "R008"
},
"genre" : {
"name" : "居酒屋",
"catch" : "野菜ソムリエ監修★デザイナーズ個ムリエ監修★デザイナーズ個\345\256室居酒屋",
"code" : "G001"
},
"english" : "あり",
"open" : "月~日、祝日、祝前日: 14:00~翌5:00 (料理L.O. 翌5:00 ドリンクL.O. 翌5:00)",
"close" : "年中無休休\343【ネット予約は休\343【ネット予約は\343\203ポイント休\343【ネット予約は\343\203ポイント\343も貯まるので便利でお得】→貯まったポイントは『hotpepper beauty、ントは『hotpepper beauty、\343じゃらん』で使ントは『hotpepper beauty、\343じゃらん』で使\343\201える",
"charter" : "貸切可 :【完全個室貸切】40名 ~80名で貸切OK♪お気軽に相談お待ちしております♪≪新宿 完全個室 居酒屋完全個室 居酒屋\343\200 ◎≫",
"logo_image" : "https:\/\/imgfp.hotp.jp\/IMGH\/06\/27\/P025460627\/P025460627_69.jpg",
"show" : "なし",
"ktai" : "つながる :(NTT ドコモ る :(NTT ドコモ \343、ソフトバンク 、au )電源る :(NTT ドコモ \343、ソフトバンク 、au )電源\345\210利用可",
"open_air" : "なし",
"coupon_urls" : {
"mobile" : "http:\/\/hpr.jp\/S\/S511.jsp?SP=J001110907&uid=NULLGWDOCOMO&vos=hpp336",
"sp" : "https:\/\/www.hotpepper.jp\/strJ001110907\/scoupon\/?vos=nhppalsa000016",
"pc" : "https:\/\/www.hotpepper.jp\/strJ001110907\/map\/?vos=nhppalsa000016",
"qr" : "http:\/\/webservice.recruit.co.jp\/common\/qr?url=http%3A%2F%2Fhpr.jp%2FS%2FS511.jsp%3FSP%3DJ001110907%26uid%3DNULLGWDOCOMO%26vos%3Dhpp337"
},
"lng" : "139.7013184460",
"shop_detail_memo" : "ご宴会のご相談♪ケーキの持ち込みOK!!お気軽にお問い合わせお待ちしております≪新宿 個室居酒屋≫",
"address" : "東京都新宿区歌舞伎町1-17-6 アツミ伎町1-17-6 アツミ\343\203ビル 5F",
"small_area" : {
"name" : "新宿東口",
"code" : "XA00"
},
"name_kana" : "やまきゅうのうじょう やまひさ しんじゅく ひがしゅく ひがし\343ぐち もつなべ しゃぶしゃぶ たべほうだい こしつ",
"access" : "JR新宿駅東口徒歩2分★西駅東口徒歩2分★西\346\255武新宿駅南口駅東口徒歩2分★西\346\255武新宿駅南口\345徒歩1分★駅か駅東口徒歩2分★西\346\255武新宿駅南口\345徒歩1分★駅か\343ら3分の好立駅東口徒歩2分★西\346\255武新宿駅南口\345徒歩1分★駅か\343ら3分の好立\345地!",
"free_food" : "あり :あり!!【大人気しゃぶ大人気しゃぶ\343\201し大人気しゃぶ\343\201し\343ゃぶ】食べ放題をご用意し大人気しゃぶ\343\201し\343ゃぶ】食べ放題をご用意し\343\201ております♪2名様~でもご案内してますので是非♪♪",
"child" : "お子様連れOK :お子様連様連れOK :お子様連\343れOKです♪ソ様連れOK :お子様連\343れOKです♪ソ\343フトドリ様連れOK :お子様連\343れOKです♪ソ\343フトドリ\343ンクも様連れOK :お子様連\343れOKです♪ソ\343フトドリ\343ンクも\345\244多数ご用意してます♪≪新宿 東口 完全個室居酒屋 宴会 ◎≫",
"wifi" : "あり",
"band" : "不可",
"non_smoking" : "禁煙席なし :喫煙可 個室のご案内になりますので喫煙されない方も気にせず寛いでいただけます♪≪新宿 ず寛いでいただけます♪≪新宿 \345\200個室居酒屋≫",
"capacity" : "100",
"lat" : "35.6942953891",
"sommelier" : "いない",
"barrier_free" : "あり :車いすで入店可※で入店可※\343バリアフリーの詳細はお店におで入店可※\343バリアフリーの詳細はお店にお\345\225問合せください♪ お客様が満足出来る空間をご提供します♪",
"name" : "山久農場 新宿総本店",
"tatami" : "なし :全席完全テーブル個室になってになって\343\201ます♪靴を脱になって\343\201ます♪靴を脱\343\201ぐ心配なし!よかったらゆったりとした個室で♪≪個室\345\261居酒屋◎≫",
"party_capacity" : "95",
"middle_area" : {
"name" : "新新\345\256宿",
"code" : "Y055"
},
"service_area" : {
"name" : "東京",
"code" : "SA11"
},
"card" : "利用可",
"midnight" : "営業している",
"station_name" : "新宿",
"free_drink" : "あり :100種類~飲み放題",
"lunch" : "あり",
"urls" : {
"qr" : "http:\/\/webservice.recruit.co.jp\/common\/qr?url=http%3A%2F%2Fhpr.jp%2FstrJ001110907%2F%3Fuid%3DNULLGWDOCOMO%26vos%3Dhpp337",
"mobile" : "http:\/\/hpr.jp\/strJ001110907\/?uid=NULLGWDOCOMO&vos=hpp336",
"pc" : "https:\/\/www.hotpepper.jp\/strJ001110907\/?vos=nhppalsa000016"
},
"large_area" : {
"name" : "東京",
"code" : "Z011"
},
"large_service_area" : {
"name" : "関東",
"code" : "SS10"
},
"pet" : "可",
"budget_memo" : "お通し代490円(税抜) ",
"horigotatsu" : "あり :3時間飲み放題のみナント1000円!!\346!\346\346\260気軽に!\346\346\260気軽に\343フラッと寄るにも良し、二次会の飲み直しにも最適★≪個室◎≫",
"sub_food" : {
"name" : "和食全般",
"code" : "R001"
},
"wedding" : "結婚式の二次会♪宴会に◎3時間飲み放会に◎3時間飲み放\351\241題大歓迎!!事前にご相談ください!!≪新談ください!!≪新\345\256宿個談ください!!≪新\345\256宿個\345室≫",
"ktai_coupon" : "0",
"equipment" : "なし",
"other_memo" : "MICあり、お手洗二室完備!!ご相談ありましたらお気軽にご連絡お待お気軽にご連絡お待\343\201ちしておりますお気軽にご連絡お待\343\201ちしております\342\231♪",
"budget" : {
"average" : "3H食べ飲み放題3480お気軽にご連絡お待\343\201ちしております\342\231♪",
"budget" : {
"average" : "3H食べ飲み放題3480\345\206円<しゃぶしゃぶ>※通常予お気軽にご連絡お待\343\201ちしております\342\231♪",
"budget" : {
"average" : "3H食べ飲み放題3480\345\206円<しゃぶしゃぶ>※通常予\347算3200お気軽にご連絡お待\343\201ちしております\342\231♪",
"budget" : {
"average" : "3H食べ飲み放題3480\345\206円<しゃぶしゃぶ>※通常予\347算3200\345円",
"name" : "2001~3000円",
"code" : "B002"
},
"sub_genre" : {
"name" : "和食",
"code" : "G004"
},
"course" : "あり",
"private_room" : "あり :≪個室完備≫少人数様~団体様まで充実の個室!最大40名様対応個室も完備!!≪新宿 完全個\345\256室居酒屋◎≫"
中略},
ソースコード
let jsonTest = JSON(data: data!)
print(jsonTest)
var items:[[String:String]] = []
jsonTest.forEach({ (_, json) in
let item:[String:String?] = [
"lat":json["shop"][0]["lat"].string,
"lng":json["shop"][0]["lng"].string,
]
items.append(item as! [String : String])
})
緯度経度の要素が欲しいので["shop"][0]にしましたが、一番最初の要素しか
取得できません。
あるぶんだけ取得するにはどうすればよろしいでしょうか。
-
気になる質問をクリップする
クリップした質問は、後からいつでもマイページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
クリップを取り消します
-
良い質問の評価を上げる
以下のような質問は評価を上げましょう
- 質問内容が明確
- 自分も答えを知りたい
- 質問者以外のユーザにも役立つ
評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。
質問の評価を上げたことを取り消します
-
評価を下げられる数の上限に達しました
評価を下げることができません
- 1日5回まで評価を下げられます
- 1日に1ユーザに対して2回まで評価を下げられます
質問の評価を下げる
teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。
- プログラミングに関係のない質問
- やってほしいことだけを記載した丸投げの質問
- 問題・課題が含まれていない質問
- 意図的に内容が抹消された質問
- 過去に投稿した質問と同じ内容の質問
- 広告と受け取られるような投稿
評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。
質問の評価を下げたことを取り消します
この機能は開放されていません
評価を下げる条件を満たしてません
質問の評価を下げる機能の利用条件
この機能を利用するためには、以下の事項を行う必要があります。
- 質問回答など一定の行動
-
メールアドレスの認証
メールアドレスの認証
-
質問評価に関するヘルプページの閲覧
質問評価に関するヘルプページの閲覧
checkベストアンサー
+1
こちらでは試せてませんが、以下の様にするといかがでしょうか?
let jsonTest = JSON(data: data)
print(jsonTest)
var items:[[String: String]] = []
jsonTest.forEach({ (_, json) in
if let shops = json["shop"].array {
for shop in shops {
if let lat = shop["lat"].string, let lng = shop["lng"].string {
items.append(["lat": lat, "lng": lng])
}
}
}
})
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
15分調べてもわからないことは、teratailで質問しよう!
- ただいまの回答率 88.10%
- 質問をまとめることで、思考を整理して素早く解決
- テンプレート機能で、簡単に質問をまとめられる
2017/03/04 17:41
無事取得することができました。