質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

1回答

1154閲覧

JSONデータが1つしか取得できません

fromKennya

総合スコア16

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2017/03/04 07:47

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]にしましたが、一番最初の要素しか
取得できません。
あるぶんだけ取得するにはどうすればよろしいでしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

こちらでは試せてませんが、以下の様にするといかがでしょうか?

swift

1 2let jsonTest = JSON(data: data) 3print(jsonTest) 4 5var items:[[String: String]] = [] 6jsonTest.forEach({ (_, json) in 7 8 if let shops = json["shop"].array { 9 10 for shop in shops { 11 if let lat = shop["lat"].string, let lng = shop["lng"].string { 12 items.append(["lat": lat, "lng": lng]) 13 } 14 } 15 } 16}) 17

投稿2017/03/04 08:30

_Kentarou

総合スコア8490

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fromKennya

2017/03/04 08:41

何度もお助けして頂きありがとうございます!! 無事取得することができました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問