尝试使用SwiftyJSON使用swift 3解析JSON数据

尝试使用SwiftyJSON使用swift 3解析JSON数据,json,swift3,swifty-json,Json,Swift3,Swifty Json,我试图解析通过API调用获得的一些JSON数据。我首先努力尝试:没有图书馆。当这不起作用时,我尝试了快速JSON,但也没有多大帮助。我想从啤酒中获取所有的子信息 在这里,您可以看到我在哪里打印出了整个JSON“对象” 迅捷的 输出 { "meta" : { "init_time" : { "measure" : "seconds", "time" : 0.011 }, "response_time" : { "measure" :

我试图解析通过API调用获得的一些JSON数据。我首先努力尝试:没有图书馆。当这不起作用时,我尝试了快速JSON,但也没有多大帮助。我想从啤酒中获取所有的子信息

在这里,您可以看到我在哪里打印出了整个JSON“对象”

迅捷的

输出

{
  "meta" : {
    "init_time" : {
      "measure" : "seconds",
      "time" : 0.011
    },
    "response_time" : {
      "measure" : "seconds",
      "time" : 0.056
    },
    "code" : 200
  },
  "notifications" : [

  ],
  "response" : {
    "macro" : {
      "count" : 10,
      "items" : [
        {
          "beer" : {
            "wish_list" : false,
            "beer_abv" : 5.4,
            "auth_rating" : 0,
            "style_name" : "Witbier",
            "beer_label" : "https:\/\/untappd.akamaized.net\/site\/beer_logos\/beer-3839_207a3_sm.jpeg",
            "bid" : 3839,
            "beer_name" : "Belgian White",
            "beer_style" : "Witbier"
          },
          "total_count" : 668,
          "your_count" : 0,
          "brewery" : {
            "location" : {
              "lng" : -104.992,
              "lat" : 39.7561,
              "brewery_city" : "Denver",
              "brewery_state" : "CO"
            },
            "brewery_name" : "Blue Moon Brewing Company",
            "brewery_slug" : "blue-moon-brewing-company",
            "brewery_id" : 127804,
            "country_name" : "United States",
            "brewery_label" : "https:\/\/untappd.akamaized.net\/site\/brewery_logos\/brewery-127804_1a670.jpeg",
            "contact" : {
              "twitter" : "BlueMoonBrewCo",
              "facebook" : "https:\/\/www.facebook.com\/bluemoon",
              "url" : "http:\/\/www.bluemoonbrewingcompany.com\/",
              "instagram" : ""
            },
            "brewery_active" : 1
          }
        },
[
  {
    "beer" : {
      "wish_list" : false,
      "beer_abv" : 4.7,
      "auth_rating" : 0,
      "style_name" : "IPA - Session \/ India Session Ale",
      "beer_label" : "https:\/\/untappd.akamaized.net\/site\/beer_logos\/beer-36834_82ca8_sm.jpeg",
      "bid" : 36834,
      "beer_name" : "All Day IPA",
      "beer_style" : "IPA - Session \/ India Session Ale"
    },
    "total_count" : 548,
    "your_count" : 0,
    "brewery" : {
      "location" : {
        "lng" : -85.6735,
        "lat" : 42.9585,
        "brewery_city" : "Grand Rapids",
        "brewery_state" : "MI"
      },
      "brewery_name" : "Founders Brewing Co.",
      "brewery_slug" : "founders-brewing-co",
      "brewery_id" : 549,
      "country_name" : "United States",
      "brewery_label" : "https:\/\/untappd.akamaized.net\/site\/brewery_logos\/brewery-foundersbrewingcompany_549.jpeg",
      "contact" : {
        "twitter" : "foundersbrewing",
        "facebook" : "http:\/\/www.facebook.com\/foundersbrewing",
        "url" : "http:\/\/www.foundersbrewing.com\/",
        "instagram" : "foundersbrewing"
      },
      "brewery_active" : 1
    }
  },
null
在这里,我详细介绍了一些子级别

迅捷的

输出

{
  "meta" : {
    "init_time" : {
      "measure" : "seconds",
      "time" : 0.011
    },
    "response_time" : {
      "measure" : "seconds",
      "time" : 0.056
    },
    "code" : 200
  },
  "notifications" : [

  ],
  "response" : {
    "macro" : {
      "count" : 10,
      "items" : [
        {
          "beer" : {
            "wish_list" : false,
            "beer_abv" : 5.4,
            "auth_rating" : 0,
            "style_name" : "Witbier",
            "beer_label" : "https:\/\/untappd.akamaized.net\/site\/beer_logos\/beer-3839_207a3_sm.jpeg",
            "bid" : 3839,
            "beer_name" : "Belgian White",
            "beer_style" : "Witbier"
          },
          "total_count" : 668,
          "your_count" : 0,
          "brewery" : {
            "location" : {
              "lng" : -104.992,
              "lat" : 39.7561,
              "brewery_city" : "Denver",
              "brewery_state" : "CO"
            },
            "brewery_name" : "Blue Moon Brewing Company",
            "brewery_slug" : "blue-moon-brewing-company",
            "brewery_id" : 127804,
            "country_name" : "United States",
            "brewery_label" : "https:\/\/untappd.akamaized.net\/site\/brewery_logos\/brewery-127804_1a670.jpeg",
            "contact" : {
              "twitter" : "BlueMoonBrewCo",
              "facebook" : "https:\/\/www.facebook.com\/bluemoon",
              "url" : "http:\/\/www.bluemoonbrewingcompany.com\/",
              "instagram" : ""
            },
            "brewery_active" : 1
          }
        },
[
  {
    "beer" : {
      "wish_list" : false,
      "beer_abv" : 4.7,
      "auth_rating" : 0,
      "style_name" : "IPA - Session \/ India Session Ale",
      "beer_label" : "https:\/\/untappd.akamaized.net\/site\/beer_logos\/beer-36834_82ca8_sm.jpeg",
      "bid" : 36834,
      "beer_name" : "All Day IPA",
      "beer_style" : "IPA - Session \/ India Session Ale"
    },
    "total_count" : 548,
    "your_count" : 0,
    "brewery" : {
      "location" : {
        "lng" : -85.6735,
        "lat" : 42.9585,
        "brewery_city" : "Grand Rapids",
        "brewery_state" : "MI"
      },
      "brewery_name" : "Founders Brewing Co.",
      "brewery_slug" : "founders-brewing-co",
      "brewery_id" : 549,
      "country_name" : "United States",
      "brewery_label" : "https:\/\/untappd.akamaized.net\/site\/brewery_logos\/brewery-foundersbrewingcompany_549.jpeg",
      "contact" : {
        "twitter" : "foundersbrewing",
        "facebook" : "http:\/\/www.facebook.com\/foundersbrewing",
        "url" : "http:\/\/www.foundersbrewing.com\/",
        "instagram" : "foundersbrewing"
      },
      "brewery_active" : 1
    }
  },
null
当我加上“啤酒”时。我得到了一个“空”返回。我想这不是因为括号里的不同。“[]”=列表,“{}”=词典。但我还是解决不了

(我不是一名iOS开发者,只是一名学生,第一次与swift3互动)

迅捷的

输出

{
  "meta" : {
    "init_time" : {
      "measure" : "seconds",
      "time" : 0.011
    },
    "response_time" : {
      "measure" : "seconds",
      "time" : 0.056
    },
    "code" : 200
  },
  "notifications" : [

  ],
  "response" : {
    "macro" : {
      "count" : 10,
      "items" : [
        {
          "beer" : {
            "wish_list" : false,
            "beer_abv" : 5.4,
            "auth_rating" : 0,
            "style_name" : "Witbier",
            "beer_label" : "https:\/\/untappd.akamaized.net\/site\/beer_logos\/beer-3839_207a3_sm.jpeg",
            "bid" : 3839,
            "beer_name" : "Belgian White",
            "beer_style" : "Witbier"
          },
          "total_count" : 668,
          "your_count" : 0,
          "brewery" : {
            "location" : {
              "lng" : -104.992,
              "lat" : 39.7561,
              "brewery_city" : "Denver",
              "brewery_state" : "CO"
            },
            "brewery_name" : "Blue Moon Brewing Company",
            "brewery_slug" : "blue-moon-brewing-company",
            "brewery_id" : 127804,
            "country_name" : "United States",
            "brewery_label" : "https:\/\/untappd.akamaized.net\/site\/brewery_logos\/brewery-127804_1a670.jpeg",
            "contact" : {
              "twitter" : "BlueMoonBrewCo",
              "facebook" : "https:\/\/www.facebook.com\/bluemoon",
              "url" : "http:\/\/www.bluemoonbrewingcompany.com\/",
              "instagram" : ""
            },
            "brewery_active" : 1
          }
        },
[
  {
    "beer" : {
      "wish_list" : false,
      "beer_abv" : 4.7,
      "auth_rating" : 0,
      "style_name" : "IPA - Session \/ India Session Ale",
      "beer_label" : "https:\/\/untappd.akamaized.net\/site\/beer_logos\/beer-36834_82ca8_sm.jpeg",
      "bid" : 36834,
      "beer_name" : "All Day IPA",
      "beer_style" : "IPA - Session \/ India Session Ale"
    },
    "total_count" : 548,
    "your_count" : 0,
    "brewery" : {
      "location" : {
        "lng" : -85.6735,
        "lat" : 42.9585,
        "brewery_city" : "Grand Rapids",
        "brewery_state" : "MI"
      },
      "brewery_name" : "Founders Brewing Co.",
      "brewery_slug" : "founders-brewing-co",
      "brewery_id" : 549,
      "country_name" : "United States",
      "brewery_label" : "https:\/\/untappd.akamaized.net\/site\/brewery_logos\/brewery-foundersbrewingcompany_549.jpeg",
      "contact" : {
        "twitter" : "foundersbrewing",
        "facebook" : "http:\/\/www.facebook.com\/foundersbrewing",
        "url" : "http:\/\/www.foundersbrewing.com\/",
        "instagram" : "foundersbrewing"
      },
      "brewery_active" : 1
    }
  },
null

您可以像这样使用SwiftyJSON解析响应对象。而您的
项目
对象是啤酒数组。希望你能明白你的想法

let json = JSON(data: JSONData)
let list = json["response"]["micro"]["items"].arrayValue

for beerObjects in list {

       // You can get sub info of beer like this.
      let beer_name = beerObjects["beer"]["beer_name"].stringValue
      let total_count = beerObjects["total_count"].intValue
      let brewery_city = beerObjects["brewery"]["location"]["brewery_city"]

      // or parse information which you need
 }

你的问题解决了吗?