使用 SwiftyJSON 读取 JSON 响应的子节点

Reading child node of JSON response using SwiftyJSON

我的 JSON 回复如下所示:

{
data: {
   type: "collections",
   id: "dc165b3f-3600-486f-aa0b-d4719b18bb61",
   attributes: {},
   relationships: {
        shows: {},
        slides: {
        links: {
          self: "https://stage-api.cde.com/networks/online/j/collections/dc165b3f-3600-486f-aa0b-d4719b18bb61/relationships/slides",
related: "https://stage-api.cde.com/networks/online/j/collections/dc165b3f-3600-486f-aa0b-d4719b18bb61/slides"
},
      data: [
        {
          type: "slides",
          id: "935d2313-4816-44a9-a65a-06a98af2d730"
        },
        {
          type: "slides",
          id: "daf02fda-b356-46df-b1d0-8c3212d826bf"
        },
        {
          type: "slides",
          id: "77bbb082-5976-450a-bb48-fda9d2a44e80"
        }
   ]
},
videos: {},
collections: {}
},
links: {}
}
}

并且我需要获取 data 数组下 slides 节点中存在的所有 id 的值。我正在使用 SwiftyJSON 框架。

非常感谢任何帮助。如果不是 SwiftyJSON 那么请建议其他选项。

试试这个:

import SwiftyJSON

let json: JSON = ...
let data = json["data"]["relationships"]["slides"]["data"]
guard let dataArray = data.array else {
    fatalError("data array NOT FOUND")
}
for child in dataArray {
    guard let id = child["id"].string else {
        fatalError("id NOT FOUND")
    }
    print("id: \(id)")
}