要快速访问泛型结构的可解码嵌套值是不可能的吗?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

要快速访问泛型结构的可解码嵌套值是不可能的吗?

2019-12-04 17:27:12 226 1

我想知道,如果我将数据从API解码为模型类的泛型类型,是否可以访问泛型类型的嵌套值。抱歉英语不好。

对于映射数据对象的快速类有数据类,这是一个泛型类型

struct GeneralResponse<T: Decodable>: Decodable {
    var code: String
    var dataResponse : T
}

dataResponse字段中映射的模型类。

struct Model: Decodable {
    var name: String
    var lname: String
}

将数据从API映射到对象(发送类型的模型)

var myStruct = try! JSONDecoder().decode(GeneralResponse<T>.self, from: jsonData)

在APIManager中调用方法

APIManager.callRequest(url: "someURL", type: Model.self)

在这种情况下,我想访问“name”或“lname”,但它不能。

API
取消 提交回答
全部回答(1)
  • 游客5akardh5cojhg
    2019-12-04 17:28:01

    你可以试以下..。

    do {
        let myStruct = try JSONDecoder().decode(GeneralResponse<Model>.self, from: jsonData)
        print(myStruct.dataResponse.name)
        print(myStruct.dataResponse.lname)
    
      } catch {
         print("error: \(error)")
      }
    
    0 0
相关问答

1

回答

C++ 是 C 的超集吗?可以用 C++ 编译器来编译 C 代码吗?

2022-03-30 08:10:35 276浏览量 回答数 1

1

回答

python中表达式 print(0b10101) 的值是什么?

2021-11-02 21:48:43 709浏览量 回答数 1

1

回答

mvn clean install-U的作用是什么?

2021-10-27 21:42:01 822浏览量 回答数 1

1

回答

Ubuntu使用root帐号登陆:报错 

2020-06-08 16:22:33 356浏览量 回答数 1

2

回答

ubuntu16.04加win10双系统,ubuntu上不了网

2019-01-22 11:36:05 2765浏览量 回答数 2

1

回答

资源占用过高;CPU占用达100%

2018-08-26 17:53:39 583浏览量 回答数 1

2

回答

Ubuntu 16.04 MySQL 5.7.19 如何远程登录?

2017-10-20 23:07:51 3346浏览量 回答数 2

0

回答

阿里云已经提供 Ubuntu 16.04 操作系统了!

2016-12-28 16:14:27 3287浏览量 回答数 0

1

回答

Ubuntu64位RocketMQ启动Name Server报错

2016-06-15 09:28:17 8949浏览量 回答数 1

2

回答

perl进程占用大量cpu资源

2013-04-01 13:09:27 7746浏览量 回答数 2
0
文章
543
问答
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载