iOS - JSONEncoder和JSONDecoder介绍
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS - JSONEncoder和JSONDecoder介绍相关的知识,希望对你有一定的参考价值。
参考技术AXcode 9, ios 11 ,Swift 4出现 JSONEncoder 和 JSONDecoder 来实现JSON格式的编解码
编码数据为JSON对象
简单使用
定义杂货食品结构体,并遵守 Codable 协议
Codable 协议为可编解码协议的类型别名
编码例子
运行输出
也可以设置输出格式为 sortedKeys ,对keys进行排序
运行输出
将JSON对象解码成对应的实例数据
简单使用
运行输出
初始化内容
Employee包含Toy属性,属于嵌套类型(nested type)
运行输出
camel case 表示驼峰形式(如:looksLikeThis)
snake case 表示下划线形式(如:looks_like_this_instead)
运行输出
使用自定义key,这里使用gift替换favoriteToy
编解码实现同上
运行输出
去除嵌套类型,实现如下数据结构
修改 Employee 结构体,单独实现编解码协议
初始化内容同上
实现身层级JSON数据
可以看到name属性在toy之内,toy属性在gift之内,为了实现该数据结构,需要为gift属性使用嵌套key容器(nested keyed containers)
运行上面测试内容输出
实现日期的编解码
简单使用
运行输出
实现编解码子类
简单使用
运行输出
复杂类型的编解码
简单使用
运行输出
数组的编解码
简单使用
运行输出
对象数据结构中拥有数组的编解码
简单使用
运行输出
JSONEncoder
JSONDecoder
Encoding-and-decoding-in-swift
以上是关于iOS - JSONEncoder和JSONDecoder介绍的主要内容,如果未能解决你的问题,请参考以下文章
JSONDecoder和JSONEncoder类是线程安全的吗?
使用 JSONEncoder 对类型为 Codable 的变量进行编码