SwiftyJSON 如何使用

1.最简单的json数据转模型

  • json格式
["userName":"jesse","sex":0,"height":0.0]
  • 定义
class PersonModel: NSObject {var userName = ""var sex = falsevar height = 0.0init(jsondata: JSON){userName = jsondata["userName"].stringValuesex = jsondata["sex"].boolValueheight = jsondata["height"].doubleValue}
}
  • 使用
//服务器返回的json数据 先转化为JSON 类型
let json = ["userName":"jesse","sex":0,"height":0.0]
let jsonDic = JSON.init(json)
let model =  PersonModel(jsondata: jsonDic)

2. json中有数组

  • json格式
[
"userName":"jesse",
"sex":0,
"height":0.0,
"dog":[["name":"二哈","age":1],["name":"比熊","age":3],["name":"泰迪","age":3]
]
  • 定义
class PersonModel: NSObject {var userName = ""var sex = falsevar height = 0.0var dogArray = [DogModel]()init(jsondata: JSON){userName = jsondata["userName"].stringValuesex = jsondata["sex"].boolValueheight = jsondata["height"].doubleValuelet dogs = jsondata["dog"].arrayValuefor  dic in dogs{let dicJson = JSON.init(dic)let dogModel = DogModel.init(jsondata:dicJson)dogArray.append(dogModel)}}
}class DogModel: NSObject {var name = ""var age = 0init(jsondata: JSON){name = jsondata["name"].stringValueage = jsondata["age"].intValue}
}
  • 使用
//服务器返回的json数据 先转化为JSON 类型
let json = ["userName":"jesse","sex":0,"height":0.0,"dog":[ ["name":"二哈","age":1],["name":"比熊","age":3],["name":"泰迪","age":3]]]
let jsonDic = JSON.init(json)
let model =  PersonModel(jsondata: jsonDic)

3. json中有json

  • json格式
[
"userName":"jesse",
"sex":0,
"height":0.0,
"dog":["name":"二哈","age":1]
]
  • 定义
class PersonModel: NSObject {var userName = ""var sex = falsevar height = 0.0var dogModel =  DogModel.init(jsondata:[:])init(jsondata: JSON){userName = jsondata["userName"].stringValuesex = jsondata["sex"].boolValueheight = jsondata["height"].doubleValuelet dog = jsondata["dog"].dictionaryValuedogModel = DogModel.init(jsondata:dog)}
}class DogModel: NSObject {var name = ""var age = 0init(jsondata: JSON){name = jsondata["name"].stringValueage = jsondata["age"].intValue}
}
  • 使用
//服务器返回的json数据 先转化为JSON 类型
let json = ["userName":"jesse","sex":0,"height":0.0,"dog": ["name":"二哈","age":1],]
let jsonDic = JSON.init(json)
let model =  PersonModel(jsondata: jsonDic)

以上三种就是最常用到的json 格式转化为模型的方式,其他复杂的数据结构模式就留给你自己摸索吧

SwiftyJSON 如何使用相关推荐

  1. swift_036(Swift之第三方库SwiftyJSON篇)

    [快速学会Swift第三方库] SwiftyJSON篇 SwiftyJSON使得用Swift处理JSON数据更加容易.这是解析JSON字符串封装类.实现功能与JavaScript中的JSON.pars ...

  2. 在 Swift 语言中更好的处理 JSON 数据:SwiftyJSON

    SwiftyJSON能够让在Swift语言中更加简便处理JSON数据. With SwiftyJSON all you have to do is: ? 1 2 3 4 let json = JSON ...

  3. 使用SwiftyJSON解析JSON

    因为Swift对于类型有非常严格的控制,它在处理JSON时是挺麻烦的,因为它天生就是隐式类型.SwiftyJSON是一个能帮助我们在Swift中使用JSON的开源类库.开始之前,让我们先看一下在Swi ...

  4. [绍棠_Swift] SwiftyJSON的使用详解(附样例,用于JSON数据处理)

    1,SwiftyJSON介绍与配置 SwiftyJSON是个使用Swift语言编写的开源库,可以让我们很方便地处理JSON数据(解析数据.生成数据). GitHub地址:https://github. ...

  5. iOS(Swift)学习笔记之SwiftyJSON的使用

    本文为原创文章,转载请标明出处 1. 通过CocoaPods安装SwiftyJSON platform :ios, '10.0'target '<Your Target Name>' do ...

  6. Swift - SwiftyJSON的使用详解(附样例,用于JSON数据处理)

    转自:http://www.hangge.com/blog/cache/detail_968.html Swift - SwiftyJSON的使用详解(附样例,用于JSON数据处理) 2016-01- ...

  7. SwiftyJSON库的使用和思考

    转载于:http://swiftist.org/topics/124#2 最近看了一些网络请求的例子,发现Swift在解析JSON数据时特别别扭,总是要写一大堆的downcast(as?)和可选(Op ...

  8. 25.SwiftyJSON转换JSON的注意

    在Swift当中, 如果我们需要解析JSON数据的话, 我们需要用上一堆代码才能解析, 而且解析之后还不一定可以正常运行, 这里提供一个第三方的SwiftyJSON, 可以防止我们在解析JSON数据的 ...

  9. swift:使用NSJSONSerialization和SwiftyJSON两种方法解析网络返回的json格式数据

    在我的博客(下面)两个实验的基础上,使用NSJSONSerialization和SwiftyJSON两种方法解析网络返回的json格式数据,参照视频实现的"天气信息"小实验 1 创 ...

  10. Xcode报错:No such module SwiftyJSON

    2019独角兽企业重金招聘Python工程师标准>>> SwiftyJSON 是一款很棒的 Swift 语言第三方库,主要处理JSON数据,作者是ThoughtWorks的工程师傅若 ...

最新文章

  1. 27.3. source code
  2. python-Day03
  3. SQL 2008 表死锁的解决
  4. matlab运动前无轨迹线,matlab 前轮前驱运动模型公式 和 轨迹仿真
  5. 通过jsp实现省市区县四级联动菜单
  6. VAssistX 常用快捷键
  7. 计算机组成原理课程设计报告总结
  8. latex数学公式转换器
  9. 机器学习——基本原理
  10. 安信可A9G二次开发的准备工作
  11. ArcGIS地理配准、影像校正步骤
  12. gif一键抠图 在线_一款支持智能抠图、钢笔抠图的在线抠图工具上线了 速抠图 sukoutu.com...
  13. vue双花括号的使用
  14. 多多小程序(doodoo)发布1.0,基于node,vue开发的微信小程序系统
  15. 【数理统计】概率统计
  16. 信息学奥赛一本通 1336 【例3-1】找树根和son(附含解题思路)
  17. 云原生周报 | K8s 官方推出纪录片;BFE 2021开源总结;服务网格在联通的落地实践
  18. oracle通过什么命令释放锁,oracle检测锁,释放锁
  19. 【Linux】误删libc提示Kernel panic not syncing: Attempted to kill init解决办法
  20. 滑动窗口与双指针的区别

热门文章

  1. Redis客户端工具-AnotherRedisDesktopManager
  2. Unity组件脚本的常用类和结构体GameObject
  3. Java开发实习生面试—附简历以及面试题
  4. 记录一次众测平台邀请码获取
  5. 身份证前6位地区编码sql
  6. 疯狂讲义java_《疯狂Java讲义》 1-概述
  7. 一种在JS代码中实现模板变量替换的方法
  8. 虚拟化试题1-网络和存储
  9. 软件观念革命:交互设计精髓_交互的学习与应用指南
  10. Java多用户商城系统B2B2C源码