Ios 在swiftui中访问嵌套数组值?
我有一个正在使用的嵌套数组 我需要从这个嵌套数组中访问一些值 我可以使用代码访问根值,但不能访问嵌套值 这是我当前的代码:Ios 在swiftui中访问嵌套数组值?,ios,arrays,swift,Ios,Arrays,Swift,我有一个正在使用的嵌套数组 我需要从这个嵌套数组中访问一些值 我可以使用代码访问根值,但不能访问嵌套值 这是我当前的代码: // MARK: - Root struct RootD: Codable { let id: Int let books: String let regs: [SightingsD] enum CodingKeys: String, CodingKey {
// MARK: - Root
struct RootD: Codable {
let id: Int
let books: String
let regs: [SightingsD]
enum CodingKeys: String, CodingKey {
case id = "id"
case serial = "books"
case regs = "regs"
}
}
struct SightingsD: Codable, Identifiable {
public var id: Int
public var regNo: String
enum CodingKeys: String, CodingKey {
case id = "id"
case regNo = "regNo"
}
}
我可以像这样访问根目录:
if let str = String(data: data!, encoding: .utf8) {
let data = str.data(using: .utf8)!
do {
if let jsonArray = try JSONSerialization.jsonObject(with: data, options: .mutableContainers) as? NSDictionary
{
books = jsonArray["books"] as! String
} else {
print("bad json")
}
} catch let error as NSError {
print(error)
}
}
但是我怎样才能访问像
regNo
这样的东西呢?你不用JSONDecoder
guard let data = data else { return }
do {
let res = try JSONDecoder().decode(RootD.self, from:data)
res.regs.forEach {
print($0.regNo)
}
} catch {
print(error)
}
你有数据,然后你把它转换成字符串,然后再转换成数据?为什么?直接将其用作数据