iOS Swift 解析字典数据到模型类

news/2024/7/20 23:06:47 标签: ios, swift, 开发语言

以下代码实现了解析单个模型和数组,从字典或字典数组中解析到单个模型或者数组,仅供参考。

    /**
     * 解析数据
     *
     * @param data 要解析的数据
     *
     * @return 解析后的数据
     *
     */
    public static func parse<T: Decodable>(data: [String: Any]?) -> T? {
        if data == nil {
            return nil
        }
        
        do {
            let jsonData = try JSONSerialization.data(withJSONObject: data!)

            let decoder = JSONDecoder()
            let model = try decoder.decode(T.self, from: jsonData)
            
            return model
        } catch {
            print(error)
        }
        
        return nil
    }
    
    /// 解析数组数据
    /// - Parameter data: 要解析的数据
    /// - Returns: 结果
    public static func parseArray<T: Codable>(data: Any?) -> [T] {
        let dataArray = data as? [[String: Any]]
        var list = [T]()
        if dataArray == nil {
            return list
        }
        
        for d in dataArray! {
            let m: T? = ParseTool.parse(data: d)
            
            if m != nil {
                list.append(m!)
            }
        }
        
        return list
    }


http://www.niftyadmin.cn/n/5218173.html

相关文章

【学习记录】从0开始的Linux学习之旅——驱动模块编译与加载

一、概述 Linux操作系统通常是基于Linux内核&#xff0c;并结合GNU项目中的工具和应用程序而成。Linux操作系统支持多用户、多任务和多线程&#xff0c;具有强大的网络功能和良好的兼容性。本文主要讲述如何编译及加载linux驱动模块。 二、概念及原理 应用程序通过系统调用与内…

【Java+SQL Server】前后端连接小白教程

目录 &#x1f4cb; 流程总览 ⛳️【SQL Server】数据库操作 1. 新建数据库text 2. 新建表 3. 编辑表 ⛳️【IntelliJ IDEA】操作 1. 导入jar包 2. 运行显示错误 &#x1f4cb; 流程总览 ⛳️【SQL Server】数据库操作 打开SQL Server数据库-->sa登录-->新建数据库…

酷开科技 | 酷开系统,让你与家人共度美好时光!

在日渐繁忙的生活中&#xff0c;我们常常会忽略和家人朋友的相处时光&#xff0c;有时候&#xff0c;我们亟需一种休闲方式&#xff0c;让家庭成员能够围坐在一起&#xff0c;享受无忧无虑的温馨和欢笑。酷开科技&#xff0c;致力于为消费者提供舒适的产品和服务内容&#xff0…

大数据中的HBase的选择题

一. 单选题&#xff08;共9题&#xff0c;49.5分&#xff09; (单选题)下列关于BigTable的描述,哪个是错误的? A. 爬虫持续不断地抓取新页面,这些页面每隔一段时间地存储到BigTable里 B. BigTable是一个分布式存储系统 C. BigTable起初用于解决典型的互联网搜索问题 D. 网络搜…

校园导游程序及通信线路设计(结尾附着总源码)

校园导游程序及通信线路设计 摘  要 新生或来访客人刚到校园&#xff0c;对校园的环境不熟悉。就需要一个导游介绍景点&#xff0c;推荐到下一个景点的最佳路径等。随着科技的发展&#xff0c;社会的进步&#xff0c;人们对便捷的追求也越来越高。为了减少人力和时间。针对对…

免费分享一套基于springboot的餐饮美食分享平台系统,挺漂亮的

大家好&#xff0c;我是java1234_小锋老师&#xff0c;看到一个不错的基于springboot的餐饮美食分享平台系统&#xff0c;分享下哈。 项目视频演示 【免费】基于springboot的餐饮美食分享平台 Java毕业设计_哔哩哔哩_bilibili【免费】基于springboot的餐饮美食分享平台 Java毕…

你听说过彩虹猫病毒吗?

你听说过彩虹猫病毒吗&#xff1f;虽然名字听起来很可爱&#xff0c;但他的威力可一点不逊于熊猫烧香&#xff0c;我们就来看看彩虹猫的运行过程吧。当病毒运行后&#xff0c;首先&#xff0c;他会警告你“你的电脑将被杀死并且不能再次启动&#xff0c;请最后再看他一眼吧”&a…

MATLAB中corrcoef函数用法

目录 语法 说明 示例 矩阵的随机列 两个随机变量 矩阵的 P 值 相关性边界 NaN 值 corrcoef函数的功能是返回数据的相关系数。 语法 R corrcoef(A) R corrcoef(A,B) [R,P] corrcoef(___) [R,P,RL,RU] corrcoef(___) ___ corrcoef(___,Name,Value) 说明 R corrc…