繁体   English   中英

如何在数组的第二个索引处访问字典的 href 键的值?

[英]How to access the value of the href key of the dictionary at the second index of an array?

json数据给出如下:

 "links" : [ {
    "rel" : "item1",
    "href" : "data1"
  }, {
    "rel" : "item2",
    "href" : "data2"
  }, {
    "rel" : "item3",
    "href" : "data3"
  }, {
    "rel" : "item4",
    "href" : "data4"
  }, {
    "rel" : "item5",
    "href" : "data5"
  }, {
    "rel" : "item6",
    "href" : "data6"
  }, {
    "rel" : "item7",
    "href" : "data7"
  }, {
    "rel" : "item8",
    "href" : "data8"
  }, {
    "rel" : "item9",
    "href" : "data9"
  } ]
}

如何在 Swift 中链接数组的第二个索引处访问值 data2 的 href 键?

您应该首先构建您的数据并使其可编码。 然后,您可以从 API 返回的数组中获取元素属性。 请注意,字符串开头缺少括号:

struct Root: Codable {
    let links: [Links]
}
struct Links: Codable, CustomStringConvertible {
    let rel: String
    let href: String
    var description: String {
        return "Rel: \(rel) - Href: \(href)"
    }
}

let jsonData = Data("""
{"links" : [ {
    "rel" : "item1",
    "href" : "data1"
  }, {
    "rel" : "item2",
    "href" : "data2"
  }, {
    "rel" : "item3",
    "href" : "data3"
  }, {
    "rel" : "item4",
    "href" : "data4"
  }, {
    "rel" : "item5",
    "href" : "data5"
  }, {
    "rel" : "item6",
    "href" : "data6"
  }, {
    "rel" : "item7",
    "href" : "data7"
  }, {
    "rel" : "item8",
    "href" : "data8"
  }, {
    "rel" : "item9",
    "href" : "data9"
  } ]
}
""".utf8)

let decoder = JSONDecoder()
do {
    let root = try decoder.decode(Root.self, from: jsonData)
    print(root)  // Root(links: [Rel: item1 - Href: data1, Rel: item2 - Href: data2, Rel: item3 - Href: data3, Rel: item4 - Href: data4, Rel: item5 - Href: data5, Rel: item6 - Href: data6, Rel: item7 - Href: data7, Rel: item8 - Href: data8, Rel: item9 - Href: data9])
    let secondLinkHref = root.links[1].href  // "data2"
} catch {
    print(error)
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM